Multi-language MCP (Model Context Protocol) client and server implementation examples in Python and Go, demonstrating various transport mechanisms (Streamable HTTP, SSE, OAuth)
This is a multi-language demo/test repository rather than a production MCP server. Tool definitions are present but inconsistent in quality across implementations. Python server (fastmcp) has basic tool definitions with acceptable naming and schemas. Go implementations show varying levels of completeness. Many tools lack parameter descriptions (critical gap), and output schemas are mostly undocumented. The repository mixes multiple language implementations with different quality baselines, making it difficult to assess as a single coherent server.
Return a+b.
echoes back your message
Returns a greeting for the supplied msg argument.
Multiply two numbers
Add two numbers
Echo a message back (for connectivity checks).
Repeats the msg argument back with a prefix.
returns random audio
Output schemas undocumented for most tools. Tools return_audio and structured_content have no visible output schema definition or documentation, preventing LLMs from planning downstream actions.
Parameter descriptions missing or minimal. While input schemas show types (integer, string, object), parameter-level descriptions are absent or trivial. LLMs cannot infer intent from 'msg' or 'a'/'b' without context. E.g., 'reverse' has input {msg: string} but no description of what msg should contain.
Ambiguous tool names reduce clarity. 'return_audio', 'return_dict', 'return_list', 'return_image' all start with 'return_' but do not indicate what they return or why to call them instead of other tools. A more specific naming scheme (e.g., 'generate_sample_audio', 'fetch_demo_dict') would aid LLM selection.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 52 | 2026-07-28+ | v2 |
| 2026-03-09 | D | 50 | 2024-11-05+ | v1 |
Return a dictionary
Return a simple image as bytes
Return a list of strings
Reverses the msg argument.
returns structured content
Subtract two numbers
Adds numeric a and b arguments.
has schema for output
Uppercases the msg argument.
Inconsistent descriptions across similar tools. Tools like 'add', 'sum', 'myserver/add' all perform addition but have varying description quality. The Go implementation 'sum' includes 'Adds numeric a and b arguments' while Python's 'add' uses only 'Add two numbers'. This inconsistency signals lower test coverage.
No error handling guidance documented. Tools lack recovery hints, retryability indicators, or error categorization. Agents cannot distinguish between user-fixable errors (invalid input) and system errors (service down).