Collection of test MCP servers demonstrating different frameworks and authentication patterns
This is a test/demo server with 11 tools spread across multiple experimental implementations (Go, Python fastmcp, Python with Google Auth, BigQuery). Critical issues: (1) 5 tools have NO input schemas at all (tools 3, 7, 8, 9, 10, 11 are missing Parameters entirely or have empty {}). (2) Descriptions are present but many are minimal or Japanese-only, making them less useful for English-speaking LLM agents. (3) Multiple duplicate tool names ('whoami' appears 3 times, 'query' appears 2 times) create ambiguity for LLM tool selection. (4) Tool naming lacks action verbs for some tools, 'echo_resource', 'echo_tool', 'echo_prompt' are vague about what they actually do. (5) No output schemas documented anywhere. (6) Error handling completely absent. (7) Hardcoded file paths in Go implementation (e.g., '/Users/nnyn/ghq/...') indicate this is a personal dev box, not production-ready.
マイコンCH32V003のデータシート
Create an echo prompt
Echo a message as a resource
Echo a message as a tool
Execute a BigQuery query and return results as CSV with group authorization
Execute a BigQuery query and return results as CSV
マイコンCH32V003のデータシート
マイコンCH32V003について書かれた開発ガイドブックのコンテンツを取得する。 フレームワークch32funや公式WCH SDKでの開発の仕方が書かれている。 以下の章に分かれている。 - PWM - ADC - I2C Master - I2C Slave このツールの引数chapterに上記の情報を与えるとその内容を取得できる
6 tools have NO input schema (empty {} or completely missing Parameters). Rubric: 'If a tool has NO input schema at all: its schema score MUST be 0.' Affects tools 3, 7, 8, 9, 10, 11.
Duplicate tool names ('whoami' defined 3 times, 'query' defined 2 times). LLM tool selection becomes ambiguous when multiple tools share the same name. Violates naming uniqueness principle.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 35 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 30 | - | v1 |
Returns authenticated user identity from Google OAuth
Returns authenticated user identity from Google OAuth
Returns authenticated user identity from Google OAuth with group authorization
Generic, action-light naming. 'echo_resource', 'echo_tool', 'echo_prompt' do not follow verb_noun pattern (e.g., 'send_message', 'create_resource'). LLMs cannot disambiguate purpose from names alone. Baseline: 90% of A+ tools start with action verb.
No output schemas documented for any tool. Rubric: 'Document the output schema. LLMs need to know what fields to expect so they can plan downstream tool calls.' Baseline: 100% of A+ tools have documented return types.
Hardcoded file paths (Go implementation: '/Users/nnyn/ghq/github.com/74th/...') indicate development-only code, not production-ready. Paths will break on deployment.
No error handling or recovery guidance. Go implementation returns fmt.Errorf with generic messages. LLMs receive raw errors with no actionable next steps. Rubric: 'Error responses must tell the LLM what to do next.'
Descriptions are sparse or minimal. Many under 50 characters (e.g., 'Echo a message as a resource', 'Returns authenticated user identity from Google OAuth'). Baseline: average tool description = 194 chars (p10=34, p90=392). Many descriptions here fall at the p10 boundary without strategic justification.
Parameters lacking descriptions. Python fastmcp tools (echo_resource, echo_tool, echo_prompt) have parameter 'message' but no description. Baseline: 100% of A+ tools have parameter descriptions. No field type validation or constraint documentation.
Google Auth tools ('whoami', 'query') expose no parameter descriptions and empty schemas. No documentation of auth flow, required scopes, or expected permissions. Rubric: 'Each tool should declare what permissions it requires (e.g. read:email, write:calendar)'.
Poor tool composition/separation. Tools defined identically across multiple files (e.g., 'whoami' in 20260419-fastmcp-googleauth, 20260430-fastmcp-googleauth-with-group) suggests code duplication. This violates DRY and makes maintenance harder.