Skip to content

Align .claude/ tooling with the modular FastMCP architecture #2

Description

@AndreaV-Lsi

Problem

The .claude/ tooling still describes the legacy single-file server
(openproject-mcp.py with list_tools() / call_tool() dispatch). The real code is modular
FastMCP
: tools self-register via @mcp.tool in src/tools/*.py, with HTTP in src/client.py
and the server assembled in src/server.py. Anyone following the .claude commands today is led to
the wrong architecture.

Scope — files to change

  • .claude/config.json
    • primaryFiles lists openproject-mcp.py → should point at openproject-mcp-fastmcp.py and
      src/tools/*.py / src/client.py.
    • runCommand = uv run python openproject-mcp.pyuv run python openproject-mcp-fastmcp.py.
    • alwaysInclude references a non-existent .env.example → actual file is env_example.txt
      (see also the README fixups issue).
  • .claude/commands/add-tool.md — rewrite steps 2–4 ("add to list_tools()", "implement in
    call_tool()") to the real pattern: add a @mcp.tool function in the right
    src/tools/<domain>.py, a Pydantic input model (subclassing CoercibleModel where wrapped), and
    a client method in src/client.py. Drop "single-file architecture".
  • .claude/commands/review-tool.md — replace list_tools() / call_tool() language with the
    decorator/module pattern.

Out of scope

  • Any runtime Python change.
  • Rewriting the .claude/README.md wholesale.

Acceptance criteria

  • The .claude config and commands describe steps that actually work against the current src/
    layout; no references to openproject-mcp.py, list_tools(), or call_tool() remain.

Type: docs/tooling, low risk. Label: backlog.

Metadata

Metadata

Assignees

No one assigned

    Labels

    backlogLogged future work item, not yet scheduled

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions