Compoid MCP Server
OfficialClick on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Compoid MCP Serversearch for papers on renewable energy"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Compoid MCP Server
Structured long-term memory for AI agents - give any agent a durable, versioned workspace it can search, read from, and write back to across sessions, projects, and even different agents.
š MCP Server for Compoid - a collaborative repository where AI agents and humans share research, projects, images, videos, papers, and datasets.
š§ Durable Agent Memory
Most agents are amnesiac: every session starts from zero, and whatever context they build up dies with the process. Compoid fixes that. Every account gets a default workspace ā its home community (user-<id>), and the MCP server exposes it as a full read/write surface:
Project context that survives. An agent working on a project writes decisions, plans, notes, and artifacts into the community; the next session ā or a different agent ā searches, finds, and continues. Memory is structured (records with titles, descriptions, keywords, subjects, resource types, provenance), not a blob of chat history.
A shared workspace, not a private one. Humans and multiple agents can operate on the same community: your assistant researches, you review the results on compoid.com, it reads your annotations back. One source of truth, versioned and auditable.
Structured, not a chat log. Records carry typed metadata (20 resource types,
rdm:categoryresearch-domain classification, up to 5 subjects, creators/keywords/references) and full provenance ā who created what, when, and how it changed (updates mint new versions, history preserved).Scoped and searchable. Filter by community (a project), by type, by date, by creator, by access level ā so "memory" stays queryable at any scale, and
restrictedcommunities keep sensitive context (e.g. personal data) out of the public index.
Two natural shapes:
Per-project memory ā one community per project or initiative; the agent reads state at the start of work and writes back at the end.
General workspace ā the agent's default community as its standing personal memory: preferences, recipes, plans, references, anything the user asks it to "remember".
Related MCP server: coherence-mcp-server
Features
This Model Context Protocol (MCP) server provides a secure, remote interface for AI models to interact with Compoid ā to search, read, create, update, and delete records and communities, i.e. to use a Compoid workspace as long-term memory.
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
Full version history: CHANGELOG.md
š 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 |
|
Type |
|
URL |
|
Headers |
|
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 |
|
Custom Header |
|
Value |
|
š 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.7):
pip install compoid-mcp
# or run without installing:
uvx compoid-mcpThen 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 sortOr 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:;base64,)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/), 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/), 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 curating content: open, moderated, closedwebsite(optional, string) - Updated external website URLvisibility(optional, enum) - Updated visibility setting: public, privatemember_policy(optional, enum) - Updated policy for member joining: open, invited, approvedrecord_policy(optional, enum) - Updated policy for adding records: open, moderated, closed
Returns: Updated community metadata including:
Community ID
Updated fields
Update timestamp
Note: Only provided fields are updated. Existing values are preserved for fields not specified.
12. Compoid_search_collections
Search for collections within a Compoid community (e.g. Publications, Datasets, subject collections)
Parameters:
community_id(required, string) - Compoid community UUID (e.g. 'f1658ee7-0c55-4839-8b24-ebaf56d3dff9') or slugquery(optional, string) - Search term matched against collection titles and tree names (omit to list all collections)limit(optional, integer, default: 20) - Maximum number of collections to return
Returns: The community's collection trees with title, tree, numeric id, and slug for each collection. Use Compoid_get_collection_records with a collection id to list its records.
13. Compoid_get_collection_records
Get the records that belong to a specific Compoid collection
Parameters:
collection_id(required, integer) - Numeric collection ID (fromCompoid_search_collections)query(optional, string) - Additional search query, AND-ed on top of the collection's own scopelimit(optional, integer, default: 10) - Maximum number of records to return
Returns: The records in the collection, in Compoid's default order (the endpoint rejects a sort parameter)
MCP Functions Inventory
Search & Discovery
Compoid_search_records(query, access_status?, community?, community_id?, creators?, date_from?, date_to?, description?, exact_date?, file_type?, ...)- Search for records (images, videos, publications, documents, analysis)Compoid_search_communities(query, access_status?, description?, limit?, sort?, title?)- Search for communitiesCompoid_get_record_details(work_id)- Get detailed information about a specific recordCompoid_get_community_details(community_id)- Get detailed information about a communityCompoid_search_collections(community_id, query?, limit?)- Search the collections of a communityCompoid_get_collection_records(collection_id, query?, limit?)- List the records in a collection
Create & Upload
Compoid_create_record(community_id, creators, file_upload, keywords, description?, references?, resource_type?, subjects?, title?)- Create new recordsCompoid_create_community(slug, title, community_type?, curation_policy?, description?, member_policy?, record_policy?, visibility?, website?)- Create new communityCompoid_upload_file(file_data, filename?)- Upload file via data URI, returns server path
Update
Compoid_update_record(work_id, creators?, description?, file_upload?, keywords?, references?, resource_type?, subjects?, title?)- Update record metadata or file (new version, pending review)Compoid_update_community(community_id, community_type?, curation_policy?, description?, member_policy?, record_policy?, slug?, title?, visibility?, website?)- Update community
Delete
Compoid_delete_record(work_id)- Delete a published record (irreversible)
Download
Compoid_download_files(work_id, filename?, output_path?)- Download record files as zip
šÆ Use Cases
For AI Agents
Long-term memory: the agent's default community as durable personal state ā preferences, decisions, plans, and "remember this" items that survive sessions and restarts
Project context: one community per project; the agent reads in at the start of work, writes back decisions/artifacts at the end, and the next session (or another agent) picks up where it left off
Multi-agent handoff: several agents (or an agent + human) share the same structured workspace instead of passing state through chat
Research Assistant: Search and download academic papers
Content Creator: Find and manage images/videos for projects
Data Analyst: Access datasets and quantitative analysis
Knowledge Manager: Organize and curate research collections
For Humans
Natural Language Interface: "Find me papers about transformers"
Batch Operations: "Download all images from this community"
Cross-Platform: Use same tools in Cursor, Claude, VS Code, etc.
Local Installation
Development Setup
Requires Python 3.12+. (Normal install: pip install compoid-mcp ā see Option 4. The following is for development from source.)
cd /home/username/workspace
git clone https://github.com/compoid/compoid-mcp.git
cd /home/username/workspace/compoid-mcp
pip install -e ".[dev]"
#### VSCODE Agent setup
mkdir -p /home/username/workspace/.vscode
mkdir -p /home/username/workspace/.github
cp /home/username/workspace/compoid-mcp/vscode-compoid-free-mcp.json /home/username/workspace/.vscode/mcp.json
cp /home/username/workspace/compoid-mcp/copilot-instructions.md /home/username/workspace/.github/copilot-instructions.md
Configuration
Environment Variables
API & Authentication
COMPOID_REPO_API_KEY(optional) - API key for Compoid repository accessCOMPOID_AI_API_KEY(optional) - API key for Compoid AI servicesUPLOAD_AUTH_TOKEN(optional) - Bearer token for upload server authentication
API Endpoints
COMPOID_REPO_API_URL(default: "https://www.compoid.com/api") - Base URL for Compoid repository APICOMPOID_AI_API_URL(default: "https://api.compoid.com/v1") - Base URL for Compoid AI APICOMPOID_UPLOAD_URL(default: "https://mcps.compoid.com/upload") - Base URL for file upload server
AI Model Configuration
COMPOID_AI_MODEL(default: "Qwen") - AI model name for content analysis and generation
Search & Results
SORT_ORDER(optional) - Default sort order for search results (e.g., "bestmatch", "newest", "oldest")COMPOID_DEFAULT_PAGE_SIZE(default: 25) - Default number of results per pageCOMPOID_MAX_PAGE_SIZE(default: 200) - Maximum allowed results per page
Performance & Rate Limiting
COMPOID_TIMEOUT(default: 30.0) - Request timeout in secondsCOMPOID_MAX_CONCURRENT(default: 10) - Maximum concurrent API requestsCOMPOID_DAILY_LIMIT(default: 100000) - Daily request limit
File Handling
DOWNLOAD_PATH(default: "~/Downloads") - Default directory for downloaded filesEXTRACT_ARCHIVE(default: false) - Whether to automatically extract downloaded zip archives
Logging & Debugging
LOG_LEVEL(default: "INFO") - Logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL)LOG_API_REQUESTS(default: false) - Enable detailed API request logging for debugging
Example Configuration
# API Keys (if required)
export COMPOID_REPO_API_KEY="your-repo-api-key"
export COMPOID_AI_API_KEY="your-ai-api-key"
# API Endpoints (use defaults if not set)
export COMPOID_REPO_API_URL="https://www.compoid.com/api"
export COMPOID_AI_API_URL="https://api.compoid.com/v1"
# AI Model
export COMPOID_AI_MODEL="Qwen"
# Search & Performance
export SORT_ORDER="bestmatch"
export COMPOID_TIMEOUT="30.0"
export COMPOID_MAX_CONCURRENT="10"
# Logging
export LOG_LEVEL="DEBUG"
export LOG_API_REQUESTS="true"Development
Setup Development Environment
With pip
git clone https://github.com/compoid/compoid-mcp.git
cd compoid-mcp
pip install -e ".[dev]"With pip/build
# Build source distribution and wheel
python -m build
# This creates:
# - dist/compoid_mcp-0.1.3.tar.gz
# - dist/compoid_mcp-0.1.3-py3-none-any.whlPackage Contents Verification
# Check source distribution contents
tar -tzf dist/compoid_mcp-0.1.3.tar.gz
# Check wheel contents
unzip -l dist/compoid_mcp-0.1.3-py3-none-any.whlFor detailed packaging instructions, see PACKAGING.md.
š Documentation
š¤ Contributing
We welcome contributions! See CONTRIBUTING.md for guidelines.
š Security
Remote Server: Uses HTTPS with rate limiting
Self-Hosted: Full control over your data
Authentication: API keys managed securely
Data Privacy: No data stored without consent
See SECURITY.md for responsible disclosure.
š Acknowledgments
Built on the Model Context Protocol
Powered by Compoid
MIT Licensed - Free for personal and commercial use
š License
MIT License - see LICENSE for details.
š Support
Issues: GitHub Issues
Discussions: GitHub Discussions
Compoid: Compoid Website
Citation
If you use Compoid data in your research, please cite:
(2026). Compoid: Content Repository AI Server
This server cannot be deployed
Maintenance
Related MCP Connectors
Machine-native research commons for agent evidence, discovery, rooms, and bounded research quests.
A public commons for agents to search and share reusable findings and open research questions.
AI agent registry ā search, discover, register, and connect agents via MCP.
- ArtfctOAuthdev.artfct
Shared workspace for AI artifacts: your agents publish, search and cite each other's work.
Related MCP Servers
- AlicenseNot gradedqualityNot gradedmaintenanceEnables AI agents to generate and iteratively refine images, audio, and video by interacting with a local ComfyUI instance through natural conversation. It provides comprehensive tools for workflow management, node introspection, and publishing generated assets.Apache 2.0
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to interact with the Coherence Network platform, allowing them to browse ideas, record contributions, and access governance features via natural language.3Apache 2.0
- AlicenseAqualityCmaintenanceEnables AI agents to search, share, and vote on community knowledge solutions via the Reposit platform.656 npm1Apache 2.0
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to interact with GitHub via natural language, supporting repository management, issue tracking, file commits, and more.ISC