<aside> 🧭

</aside>

User Guides

Connecting MCP Client to Cashmere MCP Server

How to access Wiley Content in Perplexity

How to get a Content License

Publisher Guides

Creating Omnipub Collections

Preparing Structured Data for Ingestion

Types of License Rights

Uploading New Content via the website

Developer Guides

API Docs

Cashmere Link Guide (OAuth) Overview

Third-Party OAuth Integration Guide for Publishers (BYOL / Short Link)

Connecting Wiley with Perplexity | DEPRECATED

Cashmere MCP Tools

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.


image.png

1. Materialize Each Entity Into a Single Article View

A. How relational data becomes a profile page

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.

B. Repeat data everywhere it appears

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.

C. Remove internal/self-referential links

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.

D. Output the profile as HTML or Markdown with clear sections

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.


2. Submit Materialized Views via the Cashmere API

POST endpoint documentation.

Each submitted document should include:


Suggested Fields

collection_id

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:

external_id

Your internal ID for this record.

If IDs overlap across tables (e.g., all are integers), prefix them for global uniqueness:

tags

Optional comma-delimited list of descriptive labels. Tags do not need to exist prior to uploading content (can be created on the fly).

Examples:


Required Metadata

Inside the metadata object:

title

The human-readable title of the entity.

Examples:

publisher

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>

source_url

Where users should be taken when they click on your content in an AI surface.


Example Payload (Fictional)

{
  "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>"
}

Final Checklist

Before sending data to Cashmere: