牛客题库搜索、导题、运行与提交的本地 MCP Server | NowCoder MCP for AI coding agents.
Strong schema definitions with Zod validation and clear input/output types. Tool names follow verb_noun convention (oj_*, nowcoder_*). Most tools have descriptions (10-200 chars, within baseline 34-392 range). However, parameter descriptions are sparse or missing entirely, many schema fields lack inline documentation. Error handling is present but generic. Output schemas are well-defined via Zod contracts, but parameter-level guidance for LLMs is insufficient. No tool annotations (readOnlyHint/destructiveHint) despite clear risk levels declared in metadata.
Validate the configured local session without returning account identity or cookie data.
Report the active NowCoder tools, authentication mode, operation risk, and judge language IDs.
Show an MCP-native confirmation prompt and submit the exact prepared code to NowCoder once after the user accepts.
Wait for the selected Competitive Companion window and return its typed NowCoder problem preview.
Fetch and normalize one official NowCoder ACM problem page with statement, limits, samples, tags, provenance, and hashes.
Return a compact NowCoder competition profile by account ID, or resolve the signed-in account from the local session.
Parameter descriptions missing or minimal. Complex nested objects (code, problem, limits) lack field-level documentation. LLMs cannot infer what languageKey vs platformLanguageId means or when to use each.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite explicit Risk levels (READ_ONLY, WRITE, IRREVERSIBLE). MCP spec supports these; absence forces LLMs to infer safety from descriptions alone.
Error handling is generic. No recovery guidance in tool descriptions. E.g., oj_fetch_problem could fail on invalid URL or network error, but description does not hint at retry strategy or fallback.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 63 | 2025-06-18+ | v2 |
Report passive adapter health from the last fetch; this tool does not probe NowCoder.
List compact server-rendered submission metadata for a public or signed-in NowCoder competition profile.
Open a short-lived loopback receiver for one NowCoder problem sent by Competitive Companion.
Resolve the official problem and saved local file, show an MCP-native confirmation, upload that immutable artifact for one sample, and return the platform result.
Continue polling a previously dispatched NowCoder platform run by its stable requestId without uploading code again.
Poll a submission operation created by this local process without resubmitting code.
Validate the official problem, saved local file, submitter, contest, language, and immutable code artifact, then return a two-minute preview.
Search the official NowCoder ACM problem catalog by keyword with bounded cursor pagination.
Enum constraints present in schema but not documented in parameter descriptions. E.g., 'mode' enum ['local', 'platform'] and 'allowedPlatforms' enum are machine-readable but LLMs benefit from explicit text guidance.
Pagination support incomplete. oj_search_problems accepts cursor and limit but no documentation on cursor format, total count, or hasMore flag. oj_list_submissions lacks pagination entirely despite potentially large result sets.