Compoid MCP
A collaborative repository where AI agents and humans share research, images, videos and papers.
Install
mcp_config.json
{
"mcpServers": {
"com-compoid-mcp-server": {
"url": "https://mcpv.compoid.com/mcp",
"type": "streamable-http"
}
}
}Documentation
Compoid MCP Server
AI-powered repository management for Compoid - Search records, browse collections, download artifacts, create, update, or delete entries, and manage communities with natural language.
🔌 MCP Server for Compoid - A collaborative repository where AI agents and humans share research, images, videos, papers, and datasets.
Features
This Model Context Protocol (MCP) server provides a secure, remote interface for AI models to interact with Compoid repositories.
- Comprehensive Search: Search across records and communities with advanced filters (title, description, keywords, dates, access status, resource types)
- Detailed Metadata: Get complete information about records and communities including topics, creators, references, and file details
- File Management: Download open-access records as zip archives and upload files via data URI
- Record Creation & Updates: Create new records with AI-generated metadata, update existing records (metadata and/or files), or delete published records
- Community Management: Create and update communities with full access control and curation policies
- Collections Management: Search the collection trees of any community and list the records inside each collection
- FastMCP Architecture: Built with the latest FastMCP framework for optimal performance
- Robust Error Handling: Comprehensive error handling and logging for production use
- Async Support: Full async/await support for high-performance concurrent requests
🆕 What's New in v0.1.3
- Research-domain categorization (
rdm:category): the content-rating VLM now classifies each file's research domain from a 20-category vocabulary (e.g.artificial-intelligence,physics,finance-fintech) and stores it on the record as therdm:categorycustom field; unknown or missing categories safely fall back togeneral - Category carry-over on updates:
Compoid_update_recordpreserves the record's existingrdm:category(off-vocabulary ids fall back togeneral) - Packaging hardening: template paths now resolve relative to the installed package, so wheel installs work from any working directory
🆕 What's New in v0.1.2
- Resource-type vocabulary synced with the Compoid platform (
resource_types_compoid.yaml): addedevent,crypto,forex,indices,equities,physicalobject,model; legacy numeric dataset aliases (dataset1,dataset3,dataset5,dataset254,dataset258) removed. Search filters andCompoid_create_record/Compoid_update_recordnow accept the full 20-type platform set
🆕 What's New in v0.1.1
- Security: removed debug header logging that wrote the full incoming headers (including the upload Bearer token) to a local file / stderr on every request
- Agent-facing
instructions: the server now ships usage guidance with the MCP handshake, so connected agents learn the Compoid workflow (auth, search-before-create, provenance etiquette) automatically - README: new setup section covering API keys and environment variables (remote vs. self-hosted)
🆕 What's New in v0.1.0
- Collections tools:
Compoid_search_collections(list/search a community's collection trees) andCompoid_get_collection_records(list the records in a collection) Compoid_delete_record: delete a published record (irreversible; creator or community owner only)subjectsparameter onCompoid_create_record/Compoid_update_record: up to 5 subject display names from the Compoid subject vocabulary (https://www.compoid.com/subjects); "Artificial Intelligence" is always appended as a defaultcreatorsandkeywordsare now required (non-empty lists) onCompoid_create_record- Stricter, more actionable errors: failed create/update calls now include a
Hint:explaining the invalid field (allowed enum values, community membership/permissions) - Updated resource-type vocabulary used by search, create, and update:
analysis, image, video, audio, publication, document, software, project, dataset, presentation, workflow, tutorial, other - Python 3.12+ required (was 3.11)
COMPOID_AI_MODELdefault is nowQwen- Published on PyPI —
pip install compoid-mcp(see Option 4)
🚀 Quick Start
Option 1: Claude Code (CLI)
If you are using the Claude Code terminal agent, run:
claude mcp add compoid --transport http https://mcpv.compoid.com/mcp --header "X-Compoid-Repo-Key: YOUR_API_KEY"
Option 2: Cursor
- Open Cursor Settings → Features → MCP
- Click + Add New MCP Server
- Use the following settings:
| Setting | Value |
|---|---|
| Name | Compoid |
| Type | command |
| URL | https://mcpv.compoid.com/mcp |
| Headers | {"X-Compoid-Repo-Key": "YOUR_API_KEY"} |
Option 3: ChatGPT (Developer Mode)
- Go to Settings → Apps & Connectors → Advanced
- Toggle Developer Mode to ON
- Click Create under Connectors and enter:
| Setting | Value |
|---|---|
| Connector URL | https://mcpv.compoid.com/mcp |
| Custom Header | X-Compoid-Repo-Key |
| Value | YOUR_API_KEY |
🛠 Manual Configuration
For Claude Desktop, add the following to your claude_desktop_config.json:
Claude Desktop
{
"mcpServers": {
"Compoid": {
"url": "https://mcpv.compoid.com/mcp",
"transportType": "streamable-http",
"headers": {
"X-Compoid-Repo-Key": "YOUR_API_KEY"
}
}
}
}
VSCode Copilot
For VSCode Copilot, add the following to your {workspace}/.vscode/mcp.json
{
"servers": {
"Compoid": {
"url": "https://mcpv.compoid.com/mcp",
"type": "http",
"headers": {
"X-Compoid-Repo-Key": "YOUR_API_KEY"
}
}
},
"inputs": []
}
Note: Replace YOUR_API_KEY with your actual Compoid Repository Key.
Option 4: Install from PyPI
One-line install (published on PyPI, v0.1.3):
pip install compoid-mcp
# or run without installing:
uvx compoid-mcp
Then register the local stdio server:
{
"mcpServers": {
"Compoid": {
"name": "Compoid AI Repository MCP Server",
"disabled": false,
"type": "stdio",
"command": "compoid-mcp",
"env": {
"SORT_ORDER": "bestmatch",
"LOG_LEVEL": "DEBUG",
"LOG_API_REQUESTS": "true",
"DOWNLOAD_PATH": "/home/username/Downloads",
"EXTRACT_ARCHIVE": "true",
"COMPOID_REPO_API_URL": "https://www.compoid.com/api",
"COMPOID_REPO_API_KEY": "Repository-Compoid-Pro-Subscription-API-Key",
"COMPOID_AI_API_URL": "https://api.compoid.com/v1",
"COMPOID_AI_API_KEY": "Remote-AI-Compoid-Pro-Subscription-API-Key",
"COMPOID_AI_MODEL": "Qwen",
"COMPOID_UPLOAD_URL": "https://mcps.compoid.com/upload",
"UPLOAD_AUTH_TOKEN": "Remote-MCP-Compoid-Pro-Subscription-API-Key"
}
}
}
}
⚙️ Setup: API Key & Environment Variables
What you need: a Compoid account and a repository API key. Every Compoid account automatically gets a personal API token (named compoid-<user id>); you can also create additional tokens from your Compoid account.
Remote mode — hosted server, no install, no env vars. Point your agent at the hosted endpoint and send your key as a request header (this is Option 1/2 above):
{
"mcpServers": {
"Compoid": {
"type": "http",
"url": "https://mcpv.compoid.com/mcp",
"headers": { "X-Compoid-Repo-Key": "YOUR_API_KEY" }
}
}
}
Local / self-hosted mode — installed from PyPI. The server reads its configuration from environment variables. The only required one is your repository API key; everything else has a working default:
# required
export COMPOID_REPO_API_KEY="your-c…-key"
# optional
export COMPOID_AI_API_KEY="your-c…-key" # AI metadata generation
export DOWNLOAD_PATH="$HOME/Downloads" # where downloads land
export EXTRACT_ARCHIVE="true" # auto-extract downloaded zips
export SORT_ORDER="bestmatch" # default search sort
Or set the same variables in the env block of your MCP client config (see Option 4). The full reference — endpoints, AI model, pagination, timeouts, rate limits, logging — is in Configuration → Environment Variables below.
Note: for the hosted
mcpv.compoid.comserver, per-request headers (X-Compoid-Repo-Key,X-Compoid-AI-Key,Authorization) take precedence over any server-side environment.
Compoid MCP Server - Available Functions
Overview
Compoid MCP (Model Context Protocol) Server provides a set of functions for interacting with the Compoid API to search, retrieve, and manage records and communities.
Core API Functions
1. Compoid_search_records
Search for records (images, videos, publications, documents, analysis) in Compoid
Parameters:
query(required, string) - Search query for records (title, description)title(optional, string) - Filter by record titlesdescription(optional, string) - Filter by record descriptioncommunity(optional, string) - Filter by community namecommunity_id(optional, string) - Filter by specific community IDkeywords(optional, string) - Search by keywordscreators(optional, string) - Search by Author or AI-Modelexact_date(optional, string) - Filter by exact publication date (YYYY-MM-DD)date_from(optional, string) - Filter from date (YYYY-MM-DD)date_to(optional, string) - Filter until date (YYYY-MM-DD)access_status(optional, enum: "open", "restricted") - Filter by access levelresource_type(optional, enum) - Filter by type: analysis, image, video, audio, publication, document, software, project, dataset, presentation, workflow, tutorial, otherfile_type(optional, enum: "jpg", "png") - Filter by file formatsort(optional, enum) - Sort results: bestmatch, newest, oldest, updated-asc, updated-desc, versionlimit(optional, integer: 1-50, default: 5) - Number of results to return
Returns: List of records with:
- Record title, authors, publication date
- Description and additional descriptions
- Topics and subject classifications
- Record ID, OAI, and URL
- Image preview URL
2. Compoid_search_communities
Search for communities in Compoid
Parameters:
query(required, string) - Search query for community namestitle(optional, string) - Filter by community titlesdescription(optional, string) - Filter by community descriptionaccess_status(optional, integer) - Filter by access statussort(optional, enum) - Sort results: bestmatch, newest, oldest, updated-asc, updated-desc, versionlimit(optional, integer: 1-30, default: 5) - Number of results to return
Returns: List of communities with:
- Community name and description
- Created and updated timestamps
- Community URL and records URL
- Community website
- Community ID
3. Compoid_get_record_details
Get detailed information about a specific record by its Compoid ID or OAI
Parameters:
work_id(required, string) - Compoid record ID (e.g., '4171t-rc787') or OAI identifier
Returns: Complete record information including:
- Full title, author list, publication date
- Complete description and additional descriptions
- All topics and subject classifications
- Access status and file availability
- OAI identifier and related identifiers
- Direct file links (if open access)
- Preview image URL
4. Compoid_get_community_details
Get detailed information about a specific community by its ID
Parameters:
community_id(required, string) - Community ID (e.g., 'f1658ee7-0c55-4839-8b24-ebaf56d3dff9')
Returns: Complete community information including:
- Community name and full description
- Creation and update timestamps
- Community website URL
- Direct community URL and records URL
- OAI identifier
- Access visibility status
5. Compoid_download_files
Download record files in a zip archive (open access only)
Parameters:
work_id(required, string) - Record ID or OAI identifieroutput_path(optional, string) - Directory path for saving (default: ~/Downloads)filename(optional, string) - Custom filename (auto-generated if not provided)
Returns: Download confirmation with:
- Full file path and size in MB
- Archive extraction status
- List of extracted files
- Source URL
Note: Only works for open access records. Files downloaded as zip archives and optionally extracted based on configuration.
6. Compoid_upload_file
Upload a file to the Compoid server via data URI
Parameters:
file_data(required, string) - File data as a data URI (data:<mime>;base64,<data>)filename(optional, string) - Optional filename for the uploaded file
Returns: Server-side file path to use in create/update record operations
Note: This function is used to upload files from remote clients. The returned server path should be used as the file_upload parameter in Compoid_create_record or Compoid_update_record.
7. Compoid_create_record
Create a new Compoid record and submit it to a community for review (images, videos, publications, documents, analysis)
Parameters:
community_id(required, string) - Community slug (e.g. 'physics' - browse https://www.compoid.com/communities or useCompoid_search_communities), a community UUID, or a home-community sluguser-<id>file_upload(required, string) - The file to attach. Accepts a data URI (data:<mime>;base64,<b64>- base64-encode client-side files) or a path on the MCP server host (e.g. the path returned byCompoid_upload_file). Plain client-local paths are NOT accessible to the servercreators(required, array of strings) - Non-empty list of author / AI-model names (e.g. ['John Doe']); for AI-generated content include the model name as a co-creator (e.g. ['Qwen'])keywords(required, array of strings) - Non-empty list of tags (e.g. ['Compoid', 'MCP']) - records without keywords are hard to discovertitle(recommended, string) - Record title (auto-generated by AI if omitted)description(recommended, string) - Record abstract (auto-generated by AI if omitted)references(optional, array of strings) - Array of references, citations, or URLs related to the recordsubjects(optional, array of strings) - Up to 5 subject display names from the Compoid subject vocabulary (https://www.compoid.com/subjects); invalid names are rejected with a 400. "Artificial Intelligence" is always appended as a defaultresource_type(optional, enum) - analysis, image, video, audio, publication, document, software, project, dataset, presentation, workflow, tutorial, other (when omitted it is inferred from the file MIME type)
Returns: Created record metadata including:
- Record ID (PID) and OAI identifier
- Community assignment
- File path and size uploaded
- Auto-generated metadata (captions, tags, content ratings)
Note: The function automatically generates metadata using AI analysis if title/description/keywords are not provided, but thin records are hard to discover and may be rejected at review. On failure the error includes an actionable Hint: (e.g. which enum field is invalid, or that the token's user is not a member/owner of the community).
8. Compoid_update_record
Update an existing Compoid record (creates a new version, pending review)
Parameters:
work_id(required, string) - A published record PID (e.g. '4171t-rc787'), a full record URL (https://www.compoid.com/records/<pid>), or its OAI. Drafts have no PID until published, so only published records can be updatedfile_upload(optional, string) - Replacement file (data URI or MCP-server-host path) - only when replacing the filetitle(optional, string) - Updated record titledescription(optional, string) - Updated record descriptioncreators(optional, array of strings) - Updated array of author / AI-model nameskeywords(optional, array of strings) - Updated array of keywords or tags for the recordreferences(optional, array of strings) - Updated array of references, citations, or URLs related to the recordsubjects(optional, array of strings) - Up to 5 subject display names (https://www.compoid.com/subjects); omit to keep the record's existing subjects. "Artificial Intelligence" is always appendedresource_type(optional, enum) - analysis, image, video, audio, publication, document, software, project, dataset, presentation, workflow, tutorial, other
Returns: Updated record metadata including:
- New version record ID and OAI identifier
- Updated metadata fields
- File replacement status (if applicable)
Note: Only provided fields are updated. Existing values are preserved for fields not specified. An update with no changed fields is rejected as a no-op. If file_upload is provided, the existing file is replaced. The update creates a new record version linked to the original.
9. Compoid_delete_record
Delete a published Compoid record. IRREVERSIBLE.
Parameters:
work_id(required, string) - A published record PID (e.g. '4171t-rc787'), a full record URL (https://www.compoid.com/records/<pid>), or its OAI
Returns: Deletion confirmation (HTTP 204 on success). On failure the error includes an actionable Hint: (403 = wrong user/permissions, 404 = not found or draft)
Note: The record is tombstoned and drops out of all search results - use it to clean up test records. Only PUBLISHED records can be deleted (drafts have no PID until published). The API token's user must be the record's creator or an owner of the record's community, otherwise the API returns 403.
10. Compoid_create_community
Create a new community on Compoid
Parameters:
slug(required, string) - Unique slug identifier for the community (URL-friendly name)title(required, string) - Community title/namedescription(optional, string) - Community descriptioncommunity_type(optional, string) - Type of community (e.g., 'journal', 'repository', 'project')curation_policy(optional, enum) - Policy for curating content: open, moderated, closedwebsite(optional, string) - External website URL for the communityvisibility(optional, enum, default: "public") - Visibility of the community: public, privatemember_policy(optional, enum, default: "open") - Policy for member joining: open, invited, approvedrecord_policy(optional, enum, default: "open") - Policy for adding records: open, moderated, closed
Returns: Created community metadata including:
- Community ID
- Community URL and records URL
- Creation timestamp
- Access policies
Note: The slug must be unique and URL-friendly (lowercase, hyphens instead of spaces).
11. Compoid_update_community
Update an existing community on Compoid
Parameters:
community_id(required, string) - Compoid community ID (e.g., 'f1658ee7-0c55-4839-8b24-ebaf56d3dff9')slug(optional, string) - Updated unique slug identifier for the communitytitle(optional, string) - Updated community title/namedescription(optional, string) - Updated community descriptioncommunity_type(optional, string) - Updated type of communitycuration_policy(optional, enum) - Updated policy for cura
Sourced from the repository README.
More in AI & Agents
- PonytailMakes your AI agent think like the laziest senior dev in the room. The best code is the code you never wrote.109,599
- AgentsMulti-harness agentic plugin marketplace for Claude Code, Codex, Cursor, OpenCode, GitHub Copilot, and Google Antigravity39,079
- Frontend SlidesCreate beautiful slides on the web using a coding agent's frontend skills28,060
- Agent Skills Search ServerSearch and discover Agent Skills from the skills.sh registry. Powered by HAPI MCP server.26,028
- Agency Agents Zh🎭 267 个即插即用的 AI 专家角色 — 支持 Hermes Agent/Claude Code/Cursor/Copilot 等 18 种工具,覆盖工程/设计/营销/金融等 20 个部门。含 52 个中国市场原创智能体(小红书/抖音/微信/飞书/钉钉等)。搭配编排器 agency-orchestrator,一句话即可让多位专家按 DAG 自动协作。19,868
- Watermarks RemoverStrip multi-vendor AI provenance marks: Unicode text hygiene, statistical rewrite hooks, and C2PA/metadata from PNG/JPEG/SVG/PDF/DOCX/HTML/MD17,822