MCP server for CSMAR (China Stock Market & Accounting Research) database - access CSMAR financial data directly in Claude Code
Server has 7 tools with basic schemas and descriptions, but significant quality gaps. Tool names lack consistent verb-noun structure (check_availability, get_list_dbs vs query). Descriptions are present but generic (avg ~60 chars, below 194-char baseline). Parameter descriptions exist but lack detail on constraints, formats, and dependencies. No output schemas documented. Error handling is minimal. The query tool accepts complex nested objects (where, fields) without clear format guidance. Credentials are passed via environment variables (good), but no per-tool permission gates or audit logging visible. Overall structure is functional but falls short of production-grade tool design.
Check if CSMAR SDK is available and properly configured
Get detailed information about a field in a CSMAR table
Get list of available CSMAR databases
Get list of fields/columns in a CSMAR table
Get list of tables in a CSMAR database
Login to CSMAR with username and password
Query data from CSMAR database with SQL-like syntax
Inconsistent naming convention. Tools mix verb_noun (get_list_dbs, get_field_info) with bare verbs (login, query). 'query' is vague, does not indicate what resource is queried. Should be 'query_table' or 'query_csmar_data'. LLMs struggle to disambiguate similar names.
Output schemas not documented. No tool specifies what fields are returned or their types. LLMs cannot plan downstream calls or extract required IDs. E.g., does get_list_dbs return {databases: [{name, id, description}]} or just strings?
Parameter descriptions lack constraint details. 'lang' parameter says '0 for Simplified Chinese, 1 for English, 2 for Traditional Chinese' but no enum constraint in schema. 'where' in query tool has no format guidance (SQL WHERE clause? JSON object structure?). 'fields' array lacks item type or example.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | 2026-07-28+ | v2 |
No error handling guidance. Tools do not document what errors can occur, whether they are retryable, or what the LLM should do next. E.g., login failure, should agent retry? Ask user for new credentials? No recovery path specified.
No pagination support visible. query tool accepts limit and offset, but no documentation of max result size, whether results are capped, or how to iterate large datasets. Risk of context window exhaustion if query returns thousands of rows.