Skip to main content

stdio MCP server for the FCoP Python library: exposes the fcop package's Project, task, report, and issue APIs to MCP clients (Cursor, Claude Desktop, …). Optional bridge, not a second protocol; depends on fcop 0.6.x, FastMCP, websockets.

Project description

fcop-mcp

MCP (stdio) server — the optional IDE bridge for the same FCoP stack. It wraps the official fcop library; it is not a second “FCoP product” and does not replace the protocol text.

  • What FCoP is (protocol only, product-agnostic): docs/fcop-standalone.en.md (中文 fcop-standalone.md)
  • Pure Python lib / pip install fcop: filesystem + Project API, PyYAML only — PyPI fcop (see that package’s description and Documentation).
  • This package (fcop-mcp): pip install fcop-mcp — stdio tools/resources for clients; same repo, folder mcp/.
  • Source home: joinwell52-AI/FCoP

The fcop on PyPI must be the FCoP library (summary mentions File-based Coordination Protocol, pyyaml, no fastmcp inside fcop). If pip show fcop says MCP toolbox or from fcop import Issue fails, you have a wrong distribution — fix with a clean venv and reinstall (see Verify below).


One-page install (what we recommend for customers)

Goal: a dedicated Python environment for MCP only, so no other project’s .pth or wrong fcop shadows the real library.

A. Recommended: dedicated venv + python -m fcop_mcp

  1. Python 3.10+ on PATH (3.10–3.13 tested in CI; avoid very new 3.14 until CI covers it).
  2. Create a venv (paths are examples — adjust if you like):

Windows (PowerShell)

$v = "$env:USERPROFILE\.cursor\fcop_mcp_venv"
py -3.10 -m venv $v
& "$v\Scripts\pip.exe" install -U pip
& "$v\Scripts\pip.exe" install -U "fcop" "fcop-mcp"

macOS / Linux

VENV="$HOME/.cursor/fcop_mcp_venv"
python3 -m venv "$VENV"
"$VENV/bin/pip" install -U pip
"$VENV/bin/pip" install -U "fcop" "fcop-mcp"
  1. Cursor user config — file:
  • Windows: %USERPROFILE%\.cursor\mcp.json
  • macOS / Linux: ~/.cursor/mcp.json

Add or merge (use the real python path from step 2):

{
  "mcpServers": {
    "fcop": {
      "command": "C:\\Users\\YOUR_USER\\.cursor\\fcop_mcp_venv\\Scripts\\python.exe",
      "args": ["-m", "fcop_mcp"]
    }
  }
}

On macOS, command is like /Users/YOUR_USER/.cursor/fcop_mcp_venv/bin/python.

  1. Fully restart Cursor (or Developer: Reload Window), then open MCP and confirm fcop is connected.

Why this path? uvx (below) is convenient but first run can take a long time to download dependencies; some MCP hosts time out. A fixed venv avoids that and avoids name conflicts with other editable installs of fcop on the same machine.


B. Alternative: uvx fcop-mcp (quickest to try, slower cold start)

{
  "mcpServers": {
    "fcop": {
      "command": "uvx",
      "args": ["fcop-mcp"]
    }
  }
}

Install uv first. First connection may download many wheels — wait for it; don’t spam reconnect. If you see Aborted or timeouts, use A above.


Verify (2 commands)

In the same venv you use for MCP:

python -c "from fcop import Issue, Project; print('fcop OK', Project)"
python -c "from fcop_mcp.server import mcp; print('fcop-mcp OK')"

If the first line fails, fcop is not the FCoP library — uninstall and reinstall in a clean venv (fcop / fcop-mcp from PyPI, same 0.6.x minor in lockstep with the current release).


Claude Desktop

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Use the same command / args as Cursor (either A with your venv python, or B with uvx).


Upgrading from uvx / args: ["fcop"] (0.5.x)

"fcop": { "command": "uvx", "args": ["fcop-mcp"] }

The mcpServers key name can stay "fcop". Full guide:
docs/MIGRATION-0.6.md


Where the server looks for the project

Resolution order (see ADR-0003):

  1. Last set_project_dir in this MCP session
  2. FCOP_PROJECT_DIR
  3. Legacy 0.5.x env var CODEFLOW_PROJECT_DIR (still recognized with a deprecation warning — use FCOP_PROJECT_DIR)
  4. Walk up for docs/agents/fcop.json / fcop-rules.mdc / docs/agents/tasks/
  5. Current working directory

To pin a folder in config:

"env": { "FCOP_PROJECT_DIR": "D:/path/to/your/repo" }

Stability (0.6.x)

Tool and resource shapes are additive-only within 0.6.x (stability charter). Configs that work on fcop-mcp 0.6.0+ should keep working on later 0.6.x patch releases.


License

MIT — see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fcop_mcp-0.6.2.tar.gz (22.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fcop_mcp-0.6.2-py3-none-any.whl (23.1 kB view details)

Uploaded Python 3

File details

Details for the file fcop_mcp-0.6.2.tar.gz.

File metadata

  • Download URL: fcop_mcp-0.6.2.tar.gz
  • Upload date:
  • Size: 22.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.20

File hashes

Hashes for fcop_mcp-0.6.2.tar.gz
Algorithm Hash digest
SHA256 850ee7d53e23fac1262b92ad3897c95ffb7a61a9ffe6afdbaabfc1369c21ecdf
MD5 f6c6f7c7b4c12ff92e30043e1005364b
BLAKE2b-256 97aa61f300f55702feedbd7808a15c2fc64d55de9ca6a401c76503adc47266c0

See more details on using hashes here.

File details

Details for the file fcop_mcp-0.6.2-py3-none-any.whl.

File metadata

  • Download URL: fcop_mcp-0.6.2-py3-none-any.whl
  • Upload date:
  • Size: 23.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.20

File hashes

Hashes for fcop_mcp-0.6.2-py3-none-any.whl
Algorithm Hash digest
SHA256 36e3b3feac8e3cfa0988a90b4cf8a04d2c28bed238571bbcf1df2add61b8d042
MD5 10c5d3be80c8117f0d61c37a1e80ffaf
BLAKE2b-256 517970d51139e51b9783349f6a0f1df6b3b4df4220ec9dbe49fb33b2e7a5123a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page