<aside> 🧭
</aside>
Connecting MCP Client to Cashmere MCP Server
How to access Wiley Content in Perplexity
Preparing Structured Data for Ingestion
Uploading New Content via the website
Cashmere Link Guide (OAuth) Overview
Third-Party OAuth Integration Guide for Publishers (BYOL / Short Link)
Connecting Wiley with Perplexity | DEPRECATED
Updated Nov. 17, 2025
This article uses a Fictional Private Markets Intelligence Platform as an Example
Organizations with structured or semi-structured datasets—such as company directories, investment databases, deal trackers, or fund analytics products—should prepare their content for Cashmere by converting each entity into a single materialized article view and submitting it to the POST /omnipub endpoint with correct metadata.
This guide uses a fictional Private Markets Intelligence Platform as the running example. In this fictional platform, the core entities include:
These entities live in their own relational tables but are presented to users as rich, joined profile pages. Cashmere needs those unified profile pages—converted to HTML or Markdown—as the ingestable content units.

In a relational system, an entity exists as a single row in a table, but the profile page users see is constructed from many joins.
Example: A Company profile may include:
Similarly, an Investor profile includes:
These views naturally contain cross-linked content and repeated rows.
This repetition is correct and required.
When you materialize the profile into an article view:
Example:
This gives Cashmere a complete, self-contained, text-based representation of the relationships that exist in your dataset.
Your application UI likely has links to other profiles (e.g., clicking a Company name takes you to the Company profile).
For Cashmere ingestion:
Internal links confuse LLM interpretation of the content and undermine the goal of directing users to your canonical source_url.
Use headings to separate logical segments:
# Apex Robotics — Company Profile
## Overview
- Headquarters: Seattle, WA
- Founded: 2014
- Industry: Robotics
## Deal Activity
### Series A — Jan 2020
- Investors:
- Highland Ridge Capital — $12M
- Westport Ventures — $8M
### Seed — Jun 2018
- Investors:
- Highland Ridge Capital — $3M
## Investors
- Highland Ridge Capital
- Westport Ventures
## Related News
- “Apex Robotics Launches Autonomous Drone Platform” — TechWire (2024)
Sectioning improves chunking, relationship inference, and grounding.
POST endpoint documentation.
Each submitted document should include:
Comma-delimited list of collection IDs representing the groups this content belongs to. Collections need to exist prior to upload.
Collections can be retrieved using the list_collections endpoint, which will return the ID’s of the collections and can be used in this field.
Example:
Your internal ID for this record.
If IDs overlap across tables (e.g., all are integers), prefix them for global uniqueness:
Optional comma-delimited list of descriptive labels. Tags do not need to exist prior to uploading content (can be created on the fly).
Examples:
Inside the metadata object:
The human-readable title of the entity.
Examples:
Your organization’s display name, as you want it shown in downstream surfaces. Do not use your domain or URL for the publisher,
<aside> ❕
</aside>
Where users should be taken when they click on your content in an AI surface.
{
"collection_id": "18,26",
"external_id": "company_145726",
"tags": "robotics,public_company",
"metadata": {
"title": "Apex Robotics",
"publisher": "Private Markets Intelligence",
"source_url": "<https://exampledata.com/companies/apex-robotics>"
},
"html_content": "<h1>Apex Robotics</h1><h2>Overview</h2>...</html>"
}
Before sending data to Cashmere: