MCP server demonstrating SSE (Server-Sent Events) transport with currency exchange tool
Single tool 'exchange' has critical definition gaps. Tool name lacks action verb (should be 'convert_currency' or 'exchange_currency'). Description is in Chinese only ('人民币汇率换算'), creating accessibility issues for English-speaking developers. Input schema present but parameter 'rmb' lacks description entirely, LLMs cannot infer what 'rmb' means without explicit text. Output schema is hardcoded text response, not structured. No error handling, no validation, no pagination support. Tool is READ_ONLY but uses hardcoded exchange rates rather than calling a live API, limiting utility.
人民币汇率换算
Tool name 'exchange' lacks action verb. Should be 'convert_currency' or 'exchange_rmb_to_usd'. Bare nouns force LLMs to guess intent.
Tool description is Chinese-only ('人民币汇率换算'). Must provide English description for international developer accessibility and LLM comprehension.
Input parameter 'rmb' has no description. LLMs cannot infer that 'rmb' means 'Chinese Yuan amount to convert'. Add: 'Amount in Chinese Yuan (RMB) to convert (numeric, e.g. 100)'.
Output is unstructured text response. Should return structured JSON with fields: {rmb: number, usd: number, hkd: number, timestamp: string}. Unstructured output wastes tokens and forces LLM parsing.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 30 | 2026-07-28+ | v2 |
Tool uses hardcoded exchange rates (0.14 USD/RMB, 1.09 HKD/RMB) instead of live API. Rates are stale and unreliable. Add real-time rate fetching or document that rates are demo-only.