Compoid MCP

com.compoid由 compoid.com 发布官方发布者v1.0.4更新于 Oct 24, 2026

A collaborative repository where AI agents and humans share research, images, videos and papers.

已验证Streamable HTTP可网页运行效率与工作流文件与存储知识与记忆

概览

AI 生成的概览

Compoid MCP 让助手接入 Compoid 研究仓库,搜索、读取、下载、创建、更新和删除记录与社区。

可以做什么
  • 搜索与读取记录:按标题、关键词、日期、访问状态、资源类型等条件检索图片、视频、论文等记录,并按 ID 或 OAI 获取详情。
  • 搜索与读取社区和集合:查找社区、查看社区详情、列出集合树以及集合内的记录。
  • 下载文件:将开放获取的记录文件以 zip 压缩包下载到指定路径。
  • 上传并创建记录:通过 data URI 上传文件,再在社区中创建记录并提交审核。
  • 更新与删除记录:将已发布记录更新为新版本,或不可逆地删除记录。
  • 管理社区:创建和更新社区,包括可见性、成员加入与内容策展策略。
适用场景
适合需要让助手直接使用 Compoid 仓库的场景:查找并下载论文、图片或数据集,把 AI 生成的内容发布到社区,或把某个社区当作跨会话、跨代理的长期工作区。
运行要求
可使用 mcpv.compoid.com 的远程 streamable HTTP 端点,或从 PyPI 本地安装(需 Python 3.12+)以 stdio 方式运行。需要 Compoid 账号和仓库 API 密钥:远程服务通过 X-Compoid-Repo-Key 请求头传入,本地服务通过 COMPOID_REPO_API_KEY 环境变量设置。可选配置包括 COMPOID_AI_API_KEY、UPLOAD_AUTH_TOKEN、DOWNLOAD_PATH 和 EXTRACT_ARCHIVE。
安装前请注意
API 密钥属于凭据,不要写入共享配置或日志。创建、更新、删除工具会改动服务端数据;删除不可逆且记录会被墓碑化,更新会生成待审核的新版本。上传的文件和记录元数据会发送到 Compoid,AI 元数据生成可能把内容发送到 Compoid 的 AI 服务。启用 EXTRACT_ARCHIVE 后下载的压缩包会被自动解压。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Compoid MCP,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/com.compoid%2Fmcp-server/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "compoid": {
      "type": "http",
      "url": "https://mcpv.compoid.com/mcp"
    }
  }
}

README

Compoid MCP Server

[License: MIT] [PyPI version] [Python 3.12+]

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:category research-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 restricted communities keep sensitive context (e.g. personal data) out of the public index.

Two natural shapes:

  1. Per-project memory — one community per project or initiative; the agent reads state at the start of work and writes back at the end.
  2. General workspace — the agent's default community as its standing personal memory: preferences, recipes, plans, references, anything the user asks it to "remember".

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:

bash
claude mcp add compoid --transport http https://mcpv.compoid.com/mcp --header "X-Compoid-Repo-Key: YOUR_API_KEY"

Option 2: Cursor

  1. Open Cursor Settings → Features → MCP
  2. Click + Add New MCP Server
  3. Use the following settings:
SettingValue
NameCompoid
Typecommand
URLhttps://mcpv.compoid.com/mcp
Headers{"X-Compoid-Repo-Key": "YOUR_API_KEY"}

Option 3: ChatGPT (Developer Mode)

  1. Go to Settings → Apps & Connectors → Advanced
  2. Toggle Developer Mode to ON
  3. Click Create under Connectors and enter:
SettingValue
Connector URLhttps://mcpv.compoid.com/mcp
Custom HeaderX-Compoid-Repo-Key
ValueYOUR_API_KEY

🛠 Manual Configuration

For Claude Desktop, add the following to your claude_desktop_config.json:

Claude Desktop

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

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):

bash
pip install compoid-mcp# or run without installing:uvx compoid-mcp

Then register the local stdio server:

json
{  "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):

json
{  "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:

bash
# requiredexport COMPOID_REPO_API_KEY="your-c…-key"
# optionalexport COMPOID_AI_API_KEY="your-c…-key"    # AI metadata generationexport DOWNLOAD_PATH="$HOME/Downloads"     # where downloads landexport EXTRACT_ARCHIVE="true"              # auto-extract downloaded zipsexport 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.com server, 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 titles
  • description (optional, string) - Filter by record description
  • community (optional, string) - Filter by community name
  • community_id (optional, string) - Filter by specific community ID
  • keywords (optional, string) - Search by keywords
  • creators (optional, string) - Search by Author or AI-Model
  • exact_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 level
  • resource_type (optional, enum) - Filter by type: analysis, image, video, audio, publication, document, software, project, dataset, presentation, workflow, tutorial, other
  • file_type (optional, enum: "jpg", "png") - Filter by file format
  • sort (optional, enum) - Sort results: bestmatch, newest, oldest, updated-asc, updated-desc, version
  • limit (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 names
  • title (optional, string) - Filter by community titles
  • description (optional, string) - Filter by community description
  • access_status (optional, integer) - Filter by access status
  • sort (optional, enum) - Sort results: bestmatch, newest, oldest, updated-asc, updated-desc, version
  • limit (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 identifier
  • output_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 use Compoid_search_communities), a community UUID, or a home-community slug user-<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 by Compoid_upload_file). Plain client-local paths are NOT accessible to the server
  • creators (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 discover
  • title (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 record
  • subjects (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 default
  • resource_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 updated
  • file_upload (optional, string) - Replacement file (data URI or MCP-server-host path) - only when replacing the file
  • title (optional, string) - Updated record title
  • description (optional, string) - Updated record description
  • creators (optional, array of strings) - Updated array of author / AI-model names
  • keywords (optional, array of strings) - Updated array of keywords or tags for the record
  • references (optional, array of strings) - Updated array of references, citations, or URLs related to the record
  • subjects (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 appended
  • resource_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:

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/name
  • description (optional, string) - Community description
  • community_type (optional, string) - Type of community (e.g., 'journal', 'repository', 'project')
  • curation_policy (optional, enum) - Policy for curating content: open, moderated, closed
  • website (optional, string) - External website URL for the community
  • visibility (optional, enum, default: "public") - Visibility of the community: public, private
  • member_policy (optional, enum, default: "open") - Policy for member joining: open, invited, approved
  • record_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 community
  • title (optional, string) - Updated community title/name
  • description (optional, string) - Updated community description
  • community_type (optional, string) - Updated type of community
  • curation_policy (optional, enum) - Updated policy for curating content: open, moderated, closed
  • website (optional, string) - Updated external website URL
  • visibility (optional, enum) - Updated visibility setting: public, private
  • member_policy (optional, enum) - Updated policy for member joining: open, invited, approved
  • record_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 slug
  • query (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 (from Compoid_search_collections)
  • query (optional, string) - Additional search query, AND-ed on top of the collection's own scope
  • limit (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 communities
  • Compoid_get_record_details(work_id) - Get detailed information about a specific record
  • Compoid_get_community_details(community_id) - Get detailed information about a community
  • Compoid_search_collections(community_id, query?, limit?) - Search the collections of a community
  • Compoid_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 records
  • Compoid_create_community(slug, title, community_type?, curation_policy?, description?, member_policy?, record_policy?, visibility?, website?) - Create new community
  • Compoid_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.)

bash
cd /home/username/workspacegit clone https://github.com/compoid/compoid-mcp.gitcd /home/username/workspace/compoid-mcppip install -e ".[dev]"
#### VSCODE Agent setupmkdir -p /home/username/workspace/.vscodemkdir -p /home/username/workspace/.githubcp /home/username/workspace/compoid-mcp/vscode-compoid-free-mcp.json /home/username/workspace/.vscode/mcp.jsoncp /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 access
  • COMPOID_AI_API_KEY (optional) - API key for Compoid AI services
  • UPLOAD_AUTH_TOKEN (optional) - Bearer token for upload server authentication
API Endpoints
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 page
  • COMPOID_MAX_PAGE_SIZE (default: 200) - Maximum allowed results per page
Performance & Rate Limiting
  • COMPOID_TIMEOUT (default: 30.0) - Request timeout in seconds
  • COMPOID_MAX_CONCURRENT (default: 10) - Maximum concurrent API requests
  • COMPOID_DAILY_LIMIT (default: 100000) - Daily request limit
File Handling
  • DOWNLOAD_PATH (default: "~/Downloads") - Default directory for downloaded files
  • EXTRACT_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

bash
# 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 Modelexport COMPOID_AI_MODEL="Qwen"
# Search & Performanceexport SORT_ORDER="bestmatch"export COMPOID_TIMEOUT="30.0"export COMPOID_MAX_CONCURRENT="10"
# Loggingexport LOG_LEVEL="DEBUG"export LOG_API_REQUESTS="true"

Development

Setup Development Environment

With pip
bash
git clone https://github.com/compoid/compoid-mcp.gitcd compoid-mcppip install -e ".[dev]"
With pip/build
bash
# Build source distribution and wheelpython -m build
# This creates:# - dist/compoid_mcp-0.1.3.tar.gz# - dist/compoid_mcp-0.1.3-py3-none-any.whl
Package Contents Verification
bash
# Check source distribution contentstar -tzf dist/compoid_mcp-0.1.3.tar.gz
# Check wheel contents  unzip -l dist/compoid_mcp-0.1.3-py3-none-any.whl

For 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


📝 License

MIT License - see LICENSE for details.


🆘 Support


Citation

If you use Compoid data in your research, please cite:

(2026). Compoid: Content Repository AI Server

来源:README.md,提交 e20f77f

工具

14

Compoid_search_records

Search for records (images, videos, papers, articles, analysis) in Compoid.

输入参数sortlimitquery必填titledate_tocreatorskeywordscommunitydate_fromfile_typeexact_datedescription另有 3 个

Compoid_search_communities

Search for communities in Compoid.

输入参数sortlimitquery必填titledescriptionaccess_status

Compoid_get_record_details

Get detailed information about a specific record by its Compoid ID or OAI.

输入参数work_id必填

Compoid_get_community_details

Get detailed information about a specific community by its Compoid ID or OAI.

输入参数community_id必填

Compoid_download_files

Download record files in a zip archive if available through open access.

输入参数work_id必填filenameoutput_path

Compoid_upload_file

Upload 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.

输入参数filenamefile_data必填

Compoid_create_record

Create a new Compoid record and submit it to a community for review. Required: file_upload: the file to attach. Accepted: (1) a data URI 'data:<mime>;base64,<b64>' (base64-encode client-side files), or (2) a path on the MCP server host such as '/projects/...' (e.g. the path returned by Compoid_upload_file). Plain client-local paths are NOT accessible to the server. creators: 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: non-empty list of tags (e.g. ['Compoid', 'MCP']) - records without keywords are hard to discover. Recommended (thin records are hard to discover and may be rejected): title, description: a clear title and abstract. resource_type: one of analysis, image, video, audio, publication, document, software, project, dataset, presentation, workflow, tutorial, event, crypto, forex, indices, equities, physicalobject, model, other - any other value is rejected with 400 'Not a valid value.' (when omitted it is inferred from the file MIME type). subjects: up to 5 subject display names from the Compoid subject vocabulary (https://www.compoid.com/subjects); invalid names cause a 400. "Artificial Intelligence" is always appended as a default subject. Optional: community_id: community slug (e.g. 'physics' - browse https://www.compoid.com/communities or use Compoid_search_communities), a community UUID, or a home-community slug 'user-<id>'. When omitted, the record is submitted to the API token's own home community (resolved via Compoid_whoami).

输入参数titlecreators必填keywords必填subjectsreferencesdescriptionfile_upload必填community_idresource_type

Compoid_whoami

Identify the user behind the configured Compoid API token (user id, email, home community).

无需输入参数。

Compoid_update_record

Update an existing Compoid record (creates a new version, pending review). Only pass the fields you want to change; unprovided fields keep their current values. An update with no changed fields is rejected as a no-op. Required: work_id: the record to update - a published record PID (e.g. '4171t-rc787'), a full record URL, or its OAI. Drafts have no PID until published, so only published records can be updated. Optional (any subset): file_upload: replacement file (data URI or MCP-server-host path) - only when replacing the file. title, description, creators, keywords, references: metadata to change. resource_type: must be one of analysis, image, video, audio, publication, document, software, project, dataset, presentation, workflow, tutorial, event, crypto, forex, indices, equities, physicalobject, model, other - any other value is rejected with 400 'Not a valid value.' subjects: up to 5 subject display names (https://www.compoid.com/subjects). Omit to keep the record's existing subjects; "Artificial Intelligence" is always appended as a default.

输入参数titlework_id必填creatorskeywordssubjectsreferencesdescriptionfile_uploadresource_type

Compoid_delete_record

Delete a published Compoid record. IRREVERSIBLE. 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 they are published, so a draft must be published first (or cancelled via the review flow) before it can be addressed this way. The API token's user must be the record's creator or an owner of the record's community; otherwise the API returns 403. Required: work_id: the record to delete - a published record PID (e.g. '4171t-rc787'), a full record URL (https://www.compoid.com/records/<pid>), or its OAI. On success returns a confirmation (HTTP 204). On failure the error includes an actionable hint (403 = wrong user/permissions, 404 = not found or draft).

输入参数work_id必填

Compoid_create_community

Create a new community on Compoid.

输入参数slug必填title必填websitevisibilitydescriptionmember_policyrecord_policycommunity_typecuration_policy

Compoid_update_community

Update an existing community on Compoid. Only supply the fields you want to change.

输入参数slugtitlewebsitevisibilitydescriptioncommunity_id必填member_policyrecord_policycommunity_typecuration_policy

Compoid_search_collections

Search for collections within a Compoid community (e.g. Publications, Datasets, subject collections). community_id accepts a UUID or slug; omit query to list all collections.

输入参数limitquerycommunity_id必填

Compoid_get_collection_records

Get the records that belong to a specific Compoid collection. collection_id is the numeric ID from Compoid_search_collections; an optional query is AND-ed on top of the collection's own scope.

输入参数limitquerycollection_id必填

版本历史

1
  1. v1.0.4最新Sep 16, 2026

评分

已满足适用检查项的 100%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分