An agentic system for querying TCGA cancer genomics data stored in ClickHouse. Provides an OpenAI-compatible HTTP endpoint that translates natural language questions into validated SQL queries, executes them safely, and returns summarized results. Includes LangGraph-based query validation, read-only database access controls, and Langfuse tracing integration.
This server exposes 3 tools via HTTP but has critical definition gaps. chat_completions has a reasonable description (156 chars) and input schema with types, but parameters lack individual descriptions, LLMs cannot infer what 'model', 'messages', or 'stream' control. list_models and health have descriptions but empty input schemas ({}), violating the requirement that every parameter be described. No output schemas are documented for any tool. The server is not an MCP server, it is a FastAPI HTTP wrapper around a LangGraph agent. It does not implement the MCP protocol (no tool registration via MCP, no _meta, no capabilities negotiation). Scoring it as an MCP server is technically incorrect, but evaluated against the rubric: tool definitions are incomplete and lack LLM-friendly guidance.
OpenAI-compatible chat completions endpoint. Accepts a list of messages and returns an assistant response. Supports both streaming and non-streaming modes. Internally translates the latest user question into a ClickHouse SQL query, validates it, executes it, and summarizes the results.
Health check endpoint. Returns status 'ok' if the service is running.
Returns a list of available models. Currently returns a single model entry for 'tcga-analyst'.
No parameter descriptions in any tool. 'model', 'messages', 'stream', and all nested fields lack guidance on what they control, expected format, or constraints. LLMs cannot infer parameter semantics from names alone.
Output schemas not documented. chat_completions returns OpenAI-compatible JSON but the response structure is not formally specified. LLMs cannot plan downstream operations without knowing what fields to expect.
list_models and health have empty input schemas ({}). These tools accept no parameters but the schema should be explicit.
chat_completions 'messages' parameter is complex (array of objects with role/content) but has no description of the expected structure, valid roles, or content format (string vs array of blocks). LLMs will guess.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 37 | 2026-07-28+ | v2 |
Not an MCP server. This is a FastAPI HTTP endpoint that mimics OpenAI's chat completions API. It does not implement the MCP protocol (no tool registration, no _meta, no capabilities). Scoring as MCP is a category error.