Skip to content

fix: make MCP server tools correct and testable - #49

Merged
TMHSDigital merged 3 commits into
mainfrom
fix/mcp-server-correctness
Oct 9, 2026
Merged

TMHSDigital merged 3 commits into
mainfrom
fix/mcp-server-correctness

Conversation

@TMHSDigital

Copy link
Copy Markdown
Owner

Summary

  • MCP server finds its data next to server.py (works from any working directory) and exits with a clear error if a data file is missing
  • shader_helper no longer labels URP HLSL as HDRP or Built-in code
  • scaffold_script validates names, fills in the inspected/drawn target type, gives each state machine its own state interface, and notes Editor folder and test assembly requirements
  • lookup_api: Rigidbody.velocity replaced with linearVelocity, new deprecation warnings, 15 entries for the empty input/UI/networking/editor categories (75 total), multi-word ranked search
  • C# conventions rule now says Unity 6 compiles C# 9; CI guard against file-scoped namespaces and C# 10+ guidance
  • 48 pytest tests (including a stdio smoke test), run in CI on Python 3.10 and 3.12; removed unused fastapi/uvicorn, capped mcp<2, Dependabot for pip
  • Docs aligned with actual behavior (removed ECS scaffolding and "200+ entries" claims)

Fixes #22, #24, #25, #26, #30
Refs #36 (linter and tools/ stub cleanup still open)

Test plan

  • python -m pytest mcp-server/tests passes locally (48 tests; 41 fail against the old code)
  • New C# 9 CI guard passes on this branch and flags the old rule
  • CI green

🤖 Generated with Claude Code

https://claude.ai/code/session_01MpEiWjv38TrdFcgqU8ER5L

TMHSDigital and others added 3 commits October 8, 2026 15:04
- Resolve data files next to server.py so tools work from any working
  directory, and fail at startup instead of returning empty results (#22)
- shader_helper no longer labels URP-only HLSL as HDRP or Built-in code;
  validates pipeline and lists available effects (#24)
- scaffold_script validates C# identifiers, replaces the TARGET_TYPE
  placeholder with an inferred or explicit target_type, gives each state
  machine its own state interface, and notes Editor/test assembly needs (#25)
- lookup_api: multi-word ranked search, category validation, Unity 6
  linearVelocity/linearDamping entries, and new input, ui, networking and
  editor entries so no advertised category is empty (#26)
- Add pytest suite with a stdio MCP smoke test, run it in CI on Python 3.10
  and 3.12, drop unused fastapi/uvicorn, bound mcp to <2, and add pip to
  Dependabot (#36)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpEiWjv38TrdFcgqU8ER5L
The C# conventions rule told the AI to use file-scoped namespaces and
primary constructors. Unity 6 compiles C# 9, so both fail to build.
Replace them with an explicit C# 9 constraint (#30).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpEiWjv38TrdFcgqU8ER5L
Remove the ECS scaffolding claim and the "200+ entries" count, and
document target_type, ranked search, URP-only HLSL, data path behavior,
and how to run the tests.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpEiWjv38TrdFcgqU8ER5L
@github-actions github-actions Bot added rules mcp-server Python MCP server and data documentation Improvements or additions to documentation ci labels Oct 9, 2026
@socket-security

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addedpytest@​8.4.29099100100100
Updatedmcp@​2.3.0 ⏵ 1.30.099 +1100100100100

View full report

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

Labels

ci documentation Improvements or additions to documentation mcp-server Python MCP server and data plugin-config rules

Projects

None yet

Development

Successfully merging this pull request may close these issues.

MCP server silently returns empty results unless launched from mcp-server/ (relative DATA_PATH)

1 participant