This server connects Claude to Compoid, a collaborative repository for research artifacts, images, videos, and papers shared between humans and AI agents. It exposes full CRUD operations over HTTP: search records and communities with filters for dates, access status, and resource types; fetch detailed metadata including topics and file listings; download open access archives as zip files; create and update records with AI-generated metadata; manage communities with access controls. Built on FastMCP with async support. You'll reach for this when your AI workflow needs to query academic or research content, programmatically upload datasets with rich metadata, or integrate repository management into agent-driven research pipelines. Requires a Compoid API key passed via custom headers.
Public tool metadata for what this MCP can expose to an agent.
Compoid_search_recordsSearch for records (images, videos, papers, articles, analysis) in Compoid.15 paramsSearch for records (images, videos, papers, articles, analysis) in Compoid.
sortstringlimitintegerquerystringtitlestringdate_tostringcreatorsstringkeywordsstringcommunitystringdate_fromstringfile_typestringexact_datestringdescriptionstringcommunity_idstringaccess_statusstringresource_typestringCompoid_search_communitiesSearch for communities in Compoid.6 paramsSearch for communities in Compoid.
sortstringlimitintegerquerystringtitlestringdescriptionstringaccess_statusintegerCompoid_get_record_detailsGet detailed information about a specific record by its Compoid ID or OAI.1 paramsGet detailed information about a specific record by its Compoid ID or OAI.
work_idstringCompoid_get_community_detailsGet detailed information about a specific community by its Compoid ID or OAI.1 paramsGet detailed information about a specific community by its Compoid ID or OAI.
community_idstringCompoid_download_filesDownload record files in a zip archive if available through open access.3 paramsDownload record files in a zip archive if available through open access.
work_idstringfilenamestringoutput_pathstringCompoid_upload_fileUpload a file to the Compoid MCP server. Accepts a data URI (data:<mime>;base64,<data>). Returns the server-side path to use as file_upload in Compoid_create_record or Compoid_update_record.2 paramsUpload a file to the Compoid MCP server. Accepts a data URI (data:<mime>;base64,<data>). Returns the server-side path to use as file_upload in Compoid_create_record or Compoid_update_record.
filenamestringfile_datastringCompoid_create_recordCreate a new Compoid record (images, videos, papers, articles, analysis).8 paramsCreate a new Compoid record (images, videos, papers, articles, analysis).
titlestringcreatorsarraykeywordsarrayreferencesarraydescriptionstringfile_uploadstringcommunity_idstringresource_typestringCompoid_update_recordUpdate an existing Compoid record. Can update metadata only or replace both file and metadata.8 paramsUpdate an existing Compoid record. Can update metadata only or replace both file and metadata.
titlestringwork_idstringcreatorsarraykeywordsarrayreferencesarraydescriptionstringfile_uploadstringresource_typestringCompoid_create_communityCreate a new community on Compoid.9 paramsCreate a new community on Compoid.
slugstringtitlestringwebsitestringvisibilitystringdescriptionstringmember_policystringrecord_policystringcommunity_typestringcuration_policystringCompoid_update_communityUpdate an existing community on Compoid. Only supply the fields you want to change.10 paramsUpdate an existing community on Compoid. Only supply the fields you want to change.
slugstringtitlestringwebsitestringvisibilitystringdescriptionstringcommunity_idstringmember_policystringrecord_policystringcommunity_typestringcuration_policystringAI-powered repository management for Compoid - Search records, download artifacts, create 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.
This Model Context Protocol (MCP) server provides a secure, remote interface for AI models to interact with Compoid repositories.
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"
| Setting | Value |
|---|---|
| Name | Compoid |
| Type | command |
| URL | https://mcpv.compoid.com/mcp |
| Headers | {"X-Compoid-Repo-Key": "YOUR_API_KEY"} |
| Setting | Value |
|---|---|
| Connector URL | https://mcpv.compoid.com/mcp |
| Custom Header | X-Compoid-Repo-Key |
| Value | YOUR_API_KEY |
For Claude Desktop, add the following to your claude_desktop_config.json:
{
"mcpServers": {
"Compoid": {
"url": "https://mcpv.compoid.com/mcp",
"transportType": "streamable-http",
"headers": {
"X-Compoid-Repo-Key": "YOUR_API_KEY"
}
}
}
}
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.
{
"mcpServers": {
"Compoid": {
"name": "Compoid AI Repository MCP Server",
"disabled": false,
"type": "stdio",
"command": "python",
"args": [
"-m",
"compoid_mcp.server"
],
"cwd": "/home/username/workspace/compoid-mcp/src",
"env": {
"WORKSPACE": "/home/username/workspace/compoid-mcp/src",
"PYTHONPATH": "/home/username/workspace/compoid-mcp/src",
"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": "Qwen3.5-27B-FP8",
"COMPOID_UPLOAD_URL": "https://mcpv.compoid.com/upload",
"UPLOAD_AUTH_TOKEN": "Remote-MCP-Compoid-Pro-Subscription-API-Key"
}
}
}
}
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.
Search for records (images, videos, papers, articles, 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: image, publication, video, dataset, audio, sector, presentation, other, quantitative-analysis, software, workflow, model, lessonfile_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 returnReturns: List of records with:
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 returnReturns: List of communities with:
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 identifierReturns: Complete record information including:
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:
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:
Note: Only works for open access records. Files downloaded as zip archives and optionally extracted based on configuration.
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 fileReturns: 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.
Create a new Compoid record (images, videos, papers, articles, analysis)
Parameters:
community_id (required, string) - Compoid community ID (e.g., 'f1658ee7-0c55-4839-8b24-ebaf56d3dff9')file_upload (required, string) - File path to upload (local path or server path from upload_file)creators (required, array of strings) - Array of creator names, author names, or AI model namestitle (optional, string) - Record titledescription (optional, string) - Record descriptionkeywords (optional, array of strings) - Array of keywords or tags for the recordreferences (optional, array of strings) - Array of references, citations, or URLs related to the recordresource_type (optional, enum) - Type of resource: image, publication, video, dataset, audio, sector, presentation, other, quantitative-analysis, software, workflow, model, lessonReturns: Created record metadata including:
Note: The function automatically generates metadata using AI analysis if title/description/keywords are not provided.
Update an existing Compoid record
Parameters:
work_id (required, string) - Compoid record ID (e.g., '4171t-rc787') or OAI of the record to updatefile_upload (optional, string) - New file path to upload (optional, to replace existing file)title (optional, string) - Updated record titledescription (optional, string) - Updated record descriptioncreators (optional, array of strings) - Updated array of creator names, author names, or 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 recordresource_type (optional, enum) - Updated type of resourceReturns: Updated record metadata including:
Note: Only provided fields are updated. Existing values are preserved for fields not specified. If file_upload is provided, the existing file is replaced.
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, closedReturns: Created community metadata including:
Note: The slug must be unique and URL-friendly (lowercase, hyphens instead of spaces).
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, closedReturns: Updated community metadata including:
Note: Only provided fields are updated. Existing values are preserved for fields not specified.
Compoid_search_records(query, access_status?, community?, community_id?, creators?, date_from?, date_to?, description?, exact_date?, file_type?, ...) - Search for records (images, videos, papers, articles, 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_create_record(community_id, creators, description?, file_upload, keywords?, references?, resource_type?, 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 pathCompoid_update_record(work_id, creators?, description?, file_upload?, keywords?, references?, resource_type?, title?) - Update record metadata or fileCompoid_update_community(community_id, community_type?, curation_policy?, description?, member_policy?, record_policy?, slug?, title?, visibility?, website?) - Update communityCompoid_download_files(work_id, filename?, output_path?) - Download record files as zipcd /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
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 authenticationCOMPOID_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 serverCOMPOID_AI_MODEL (default: "Qwen3.5-27B-FP8") - AI model name for content analysis and generationSORT_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 pageCOMPOID_TIMEOUT (default: 30.0) - Request timeout in secondsCOMPOID_MAX_CONCURRENT (default: 10) - Maximum concurrent API requestsCOMPOID_DAILY_LIMIT (default: 100000) - Daily request limitDOWNLOAD_PATH (default: "~/Downloads") - Default directory for downloaded filesEXTRACT_ARCHIVE (default: false) - Whether to automatically extract downloaded zip archivesLOG_LEVEL (default: "INFO") - Logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL)LOG_API_REQUESTS (default: false) - Enable detailed API request logging for debugging# 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="Qwen3.5-27B-FP8"
# 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"
git clone https://github.com/compoid/compoid-mcp.git
cd compoid-mcp
pip install -e ".[dev]"
# Build source distribution and wheel
python -m build
# This creates:
# - dist/compoid_mcp-1.0.0.tar.gz
# - dist/compoid_mcp-1.0.0-py3-none-any.whl
# Check source distribution contents
tar -tzf dist/compoid_mcp-1.0.0.tar.gz
# Check wheel contents
unzip -l dist/compoid_mcp-1.0.0-py3-none-any.whl
For detailed packaging instructions, see PACKAGING.md.
We welcome contributions! See CONTRIBUTING.md for guidelines.
See SECURITY.md for responsible disclosure.
MIT License - see LICENSE for details.
If you use Compoid data in your research, please cite:
(2026). Compoid: Content Repository AI Server