Skip to content

docs(specs): FastMCP 3.x modernization analysis for Splunk/ITSI servers#130

Draft
YoungDan wants to merge 1 commit into
mainfrom
cursor/fastmcp-modernization-analysis-94d8
Draft

docs(specs): FastMCP 3.x modernization analysis for Splunk/ITSI servers#130
YoungDan wants to merge 1 commit into
mainfrom
cursor/fastmcp-modernization-analysis-94d8

Conversation

@YoungDan
Copy link
Copy Markdown
Member

@YoungDan YoungDan commented May 7, 2026

Summary

Adds a design/analysis spec at docs/superpowers/specs/2026-05-07-fastmcp-modernization-design.md covering:

  1. Version audit. The repo already pins fastmcp>=3.2.4,<4 and the resolved version in uv.lock is 3.2.4, which is the latest stable on PyPI. There is no version drift between the project and upstream FastMCP.
  2. Feature-adoption gap. FastMCP 3.0–3.2.4 shipped a large set of capabilities (providers, transforms, granular auth, OpenTelemetry, response limiting, ping keepalive, session-scoped visibility, structured outputs, tool timeouts, ctx.elicit(), etc.) that this codebase does not yet use. The spec lists each missing feature and where it would help.
  3. Concrete pain points in src/server.py (1,228 lines), src/core/loader.py (1,303 lines), and the hand-rolled middleware/wrapper machinery — both of which exceed the workspace's own file-size rule and reimplement work that FastMCP 3.x now does natively.
  4. Three approaches scoped by blast radius — A: drop-in middleware, B: FastMCP-native registration migration with server.py/loader.py split, C: provider-based architecture with CodeMode. Recommends sequencing A → B, with C as a future spec.
  5. Performance recommendations ordered by estimated impact, naming the affected metric (P95 latency, cold-start, event-loop fairness, memory growth), with before/after snippets.
  6. Agent-experience review through the mcp-builder lens — naming, output schemas, annotations, pagination, structured outputs.

The spec is analysis-only — no source files change. The companion implementation spec for Approach A is left as a follow-up so a maintainer can approve direction before code lands.

Skills applied: brainstorming, mcp-builder, performance (per request).

Type of change

  • Bug fix
  • New feature
  • Documentation
  • Refactor/Chore

Checklist

  • Tests added/updated (if applicable) — N/A, docs-only
  • Docs updated (README or docs/)
  • Lint and type checks pass (uv run ruff check, uv run mypy) — N/A, docs-only

Related issues

None tracked yet — this spec is the seed for follow-up implementation tickets per Approach A.

Open in Web Open in Cursor 

…ervers

Audit of FastMCP version (3.2.4 — already current) and feature adoption
across both MCP servers, with three sequenced approaches (drop-in
middleware, native-registration migration, provider/CodeMode rebuild)
and ordered performance recommendations.

No code changes; analysis only. Companion implementation spec to follow
once a maintainer approves the approach.

Co-authored-by: Daniel Young <YoungDan@users.noreply.github.com>
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 7, 2026

Security Scan Summary

Scan Results

  • Bandit (Python SAST): success
  • Semgrep (Multi-language SAST): success
  • Trivy (Vulnerability scanner): success
  • Gitleaks (Secret detection): success
  • CodeQL (Advanced analysis): success

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants