fcop-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| set_project_dirA | Pin the project root for this MCP session. Useful when the MCP process was spawned with the wrong working
directory — typical symptom: Safe to call while UNBOUND — re-pointing at a directory is not a role-claim and writes nothing. It only mutates in-process state. |
| init_projectA | Initialize an FCoP project with a bundled preset team. Since 3.0.2 a fresh init produces the v3 topology (per spec
§1.1): Writes |
| init_soloA | Initialize an FCoP project in Solo mode (one AI, no dispatch). Solo mode is for projects where a single agent works directly with ADMIN. Rule 0.b still applies: the agent uses files to split itself into proposer and reviewer, even though there is no second role. Since 3.0.2 fresh init produces the v3 topology (per spec §1.1):
Beyond |
| create_custom_teamA | Create an FCoP project with a custom roster of roles. Role codes can be anything — they become part of task filenames,
e.g. Since 3.0.2 fresh init produces the v3 topology (per spec §1.1):
Custom teams have no bundled three-layer docs, so
The other init artifacts are deposited as usual:
|
| validate_team_configA | Dry-run validation for a custom team config. Use before |
| write_taskA | Create a new task file (v3: The library assigns a filename of the form
|
| read_taskB | Read the full content of a task file. |
| list_tasksC | List tasks, optionally filtered. |
| inspect_taskA | Validate a task file against FCoP grammar. Catches deterministic violations that raw |
| archive_taskA | Archive a completed task (move under The report file tied to this task, if any, is moved alongside so the archived pair stays together. |
| archive_to_historyA | Move a closed task from The task and all its associated reports are moved together into
Call :func: |
| bulk_archive_to_historyA | Migrate all tasks from This is a convenience migration tool. It iterates every task in
Useful when:
The |
| create_taskA | Create a new task and place it in the inbox (v3) or tasks folder (v2). This is the canonical FCoP v3 spec §8 L1 entry-point for task
creation — functionally identical to :func: |
| list_historyA | List the deep history archive. When date is supplied ( |
| read_history_taskA | Read a task from the deep history archive. Searches |
| claim_taskA | Claim a task from Moves the task file from |
| submit_taskA | Submit an active task for review: Moves the task file from |
| finish_taskA | Finish an active task directly: Moves the task file from |
| approve_taskA | Approve a task under review: Moves the task file from |
| reject_taskA | Reject / recall a task under review: Moves the task file back from |
| write_reportA | Write a completion report for a task. Creates |
| list_reportsC | List reports, optionally filtered. |
| read_reportC | Read the full content of a report file. |
| write_issueB | File an issue under |
| write_reviewC | Write a REVIEW file (governance-layer decision, per ADR-0017/0025). |
| list_reviewsC | List REVIEW files, optionally filtered. |
| read_reviewA | Read the full content of a REVIEW file. |
| mark_human_approvedA | Record a human approval decision on a Closes the escalation loop opened by |
| list_issuesC | List issues, optionally filtered. |
| get_available_teamsA | List bundled preset teams and their role rosters. Useful before |
| get_team_statusA | Return a concise status snapshot of the current project. Shows whether the project is initialized, which team / roster is loaded, how many open tasks / reports / issues are on disk, and the five most recent activity entries (sorted newest first). |
| deploy_role_templatesA | Deploy the three-layer team documentation into Writes When |
| new_workspaceA | Create a workspace subdirectory under
Idempotent: calling twice with the same slug updates the title / description but never wipes files you already dropped in the folder. |
| list_workspacesA | List all Picks up both workspaces created by |
| drop_suggestionA | Pressure valve for agents who disagree with the current FCoP protocol. Writes a timestamped markdown file under Works before |
| fcop_reportA | FCoP Rule 0 — first tool call of every new session, also the general project-status report. Returns one of two reports plus a versions block + optional drift warning (ADR-0006):
In both cases the While UNBOUND (or uninitialized) the agent MUST NOT read task bodies, write any files (except via the explicit init tools), or claim a role from context clues. .. note::
This tool replaced |
| fcop_checkA | FCoP audit. Cross-reference git working tree + frontmatter against the FCoP ledger. Two independent post-hoc audits, both new in 0.7.1
(
This tool is detection, not prevention. It surfaces the
evidence; the protocol-mandated response is for ADMIN to file an
ISSUE-* and decide handoff / co-review / distinct-role per
Rule 1, just as for the Decomposes to filesystem operations:
|
| fcop_auditA | 协议体检工具(ADR-0032)。扫描项目,发现协议合规缺口,产出"体检即整改方案"报告。 与
三个 scope:
产出物: 报告含 Execution Block:每条违规附带可直接复制的整改命令、执行人、 Tier 优先级和回滚方式。 |
| redeploy_rulesA | ADMIN-only. Re-deploy bundled FCoP protocol rules to the project. Writes the wheel-bundled :file: .. code-block:: text Run this after Per ADR-0006, agents must NOT invoke this tool themselves — only ADMIN does, explicitly. |
| check_updateA | Compare the installed fcop-mcp version to the latest on PyPI. Prints the local version, the latest PyPI version (if reachable),
and a one-line verdict. Does NOT install anything — call
|
| upgrade_fcopA | Return the install-method-specific command to upgrade fcop-mcp. Does NOT run pip — MCP servers cannot safely upgrade themselves
mid-process, and different install methods ( |
| list_governance_eventsA | FCoP governance audit. Read the append-only governance event log. Returns recent tool-call intercept events recorded by the FCoPGovernanceMiddleware (ADR-0030-bis Layer 1). Use this to understand what actions agents have taken and their risk classification. |
| get_governance_summaryA | FCoP governance summary. Return aggregate statistics from the governance event log: total calls by risk level, most active tools, and any CRITICAL_TAG events that should be reconciled with Tasks and Reviews. Use as a quick health check: CRITICAL_TAG events without corresponding Task + Review coverage are governance gaps that require ADMIN attention. |
| fcop_list_alertsA | ADMIN Governance Alert Inbox. List governance alerts from fcop/alerts/. Alerts are written automatically by This is the ADMIN's "red dot" — run this to see what governance gaps the system has surfaced, without needing to manually patrol logs. |
| fcop_create_alertA | ADMIN / Governance Observer only. Manually file a governance alert. Use when you (as ADMIN or an authorized governance observer) detect a governance gap that automated scanning has not yet captured. Creates a new ALERT-*.md file in fcop/alerts/. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| resource_status | Project status snapshot (same data as :func:`get_team_status`). |
| resource_config | Raw contents of ``docs/agents/fcop.json`` when the project is initialized. |
| resource_rules | FCoP protocol rules (``fcop-rules.mdc``). |
| resource_protocol | FCoP protocol commentary (``fcop-protocol.mdc``). |
| resource_spec_zh | FCoP v1.1 protocol spec — Simplified Chinese (informative). Returns the wheel-bundled ``fcop-spec-v1.1.zh.md`` via ``fcop.rules.get_spec("zh")``. Covers the seven core abstractions (Agent, IPC, Encoding, Event, Failure, Boundary, Audit) together with the v1.1 Capability Governance additions (risk_level, needs_human, human_approval, Skill.tools[*].risk). The canonical FCoP 3.0 specification — which introduces the Lifecycle / Event / Tool-Tier ontology that supersedes the v1.1 flag-based model — lives at ``spec/fcop-3.0-spec.zh.md`` in the source repository (not yet bundled in the wheel). Use this resource for stable v1.1 contracts; consult the 3.0 spec for the current canonical semantics. The English version is available at ``fcop://spec/en``. |
| resource_spec_en | FCoP v1.1 protocol spec — English (informative). Returns the wheel-bundled ``fcop-spec-v1.1.en.md`` via ``fcop.rules.get_spec("en")``. Covers the seven core abstractions (Agent, IPC, Encoding, Event, Failure, Boundary, Audit) and the v1.1 Capability Governance additions. The canonical FCoP 3.0 specification lives at ``spec/fcop-3.0-spec.md`` in the source repository (not yet bundled in the wheel; see ADR-0039 for the rules on what gets bundled). Use this resource for stable v1.1 contracts; consult the 3.0 spec for the current canonical semantics. |
| resource_letter_zh | Chinese Letter-to-ADMIN user manual. |
| resource_letter_en | English Letter-to-ADMIN user manual. |
| resource_install_prompt_zh | Canonical "have an agent install fcop-mcp" prompt (Chinese). Same text as the bundled ``agent-install-prompt.zh.md`` and the ``mcp/README.md`` § "Have an agent install fcop-mcp for you" section. ADMIN copies this and gives it to a fresh shell-capable agent. The prompt body explicitly forbids agents from auto-initialising a project after install — initialisation is ADMIN's three-way choice (solo / preset team / custom). |
| resource_install_prompt_en | Canonical "have an agent install fcop-mcp" prompt (English). English variant of ``fcop://prompt/install``. Same content as the bundled ``agent-install-prompt.en.md``. |
| resource_teams_index | JSON index of all bundled teams with name / roles / leader. |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/joinwell52-AI/FCoP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server