Files
AegisGitea-MCP/docs/roadmap.md
T

2.1 KiB

Roadmap

Where the project stands and what is deliberately not planned. Design decisions are in docs/adr.

1.0.0

1.0.0 is a breaking rebuild of 0.x:

  • one tool per operation of the pinned Gitea 28.1.0 swagger (537) plus gitea_api_request;
  • stdio and streamable HTTP on the official mcp SDK;
  • admin-token mode and per-user OAuth with dynamic client registration;
  • a setup command, a generated tool inventory and a docs drift check in CI;
  • live-Gitea integration tests and MCP smoke tests in CI.

The gates that 0.x used to restrict a shared service token (write opt-in, a policy file, per-resource checks) are gone, together with the old web adapter and its extras (ADR 0001, 0006). All tool names changed to gitea_<domain>_<action>.

Known limits

  • Tool list size. 538 tools is a lot for clients without tool search. Use TOOLSETS, READ_ONLY and DISABLED_TOOLS for a slim profile. How claude.ai and Mistral Le Chat cope with the full list is to be confirmed against the real clients.
  • Gitea has no queue management, no instance configuration writes and no instance-wide OAuth application endpoints, so there are no tools for them.
  • The catalog follows one pinned swagger. A newer Gitea needs a re-pin and regeneration, and gitea_api_request covers the gap in the meantime.
  • Some operations need state that is hard to reproduce in CI (a registered runner executing a job, a reachable remote for mirrors and migrations, uploaded packages). The integration sweep calls every tool, and asserts Gitea's documented response where a full happy path is not reproducible.
  • In OAuth mode the server holds per-user Gitea tokens, encrypted at rest. That store is the most sensitive asset after the admin token.

Not planned

  • A policy engine or per-repository allow lists inside the server. Restrict with the token's scopes, per-user OAuth and the tool filters.
  • Metrics endpoints, webhook ingest and scheduled jobs. This is an API bridge.
  • Scraping the Gitea web UI for features the API lacks.

Possible later work

  • Re-pinning to newer Gitea releases as they ship.