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 分