weishengxin
Server Details
weishengxin is a hosted MCP server that exposes the bioinformatics.com.cn (SRplot) plotting platform — 300+ online modules covering general charts, life-science and clinical visualizations (volcano, heatmap, GO/Pathway, circos, forest, KM curve, enrichment), maps and analysis modules. Clients discover a module, read its TSV schema and parameter defaults, submit a TSV (≤ 1 MiB), then poll for PNG / PDF / SVG / TIFF output. No local runtime is required: all rendering runs server-side.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 6 tools
Each tool maps to a distinct step in the workflow (discover modules, read schema, view demo, submit job, poll result, FAQ), and descriptions explicitly warn that demos are not results. The only mild overlap is between get_module_schema, get_module_demo and get_faq, which all return module-related reference information and could occasionally be confused.
All six names follow a clean verb_noun pattern (draw_plot, get_faq, get_module_demo, get_module_schema, get_result, list_modules) with consistent snake_case. The get_module_* prefix forms a predictable family for module metadata.
Six tools is well-scoped for a plotting-module service: discovery, schema, demo, submission, result polling, and FAQ each earn their place with no redundancy. Nothing essential is clearly missing nor is there filler.
The core lifecycle (list_modules → get_module_schema/demo → draw_plot → get_result) is fully covered, plus FAQ for troubleshooting. Minor gaps exist: no job cancellation despite a single global job constraint, and no way to list prior jobs beyond a known ID.
Available Tools
6 toolsdraw_plotAInspect
Submit one TSV dataset for serial background plotting. accepted is not completion; poll get_result. One job globally, at most one new admission per 5s. busy/rate_limited are not admitted: wait and retry the same ID. / 提交一份TSV后台绘图,accepted不是完成;全局单任务且每5秒最多受理一次,忙碌或限频均未受理,等待后原编号重试。
| Name | Required | Description | Default |
|---|---|---|---|
| params | No | Only supported parameter overrides; omit or use {} for server defaults. / 仅填写支持的修改项,省略或{}使用服务器默认值。 | |
| data_tsv | Yes | A TSV string for one input, or an object mapping the schema inputs names to TSV strings for multiple inputs; total <=1MiB. / 单输入提交TSV文本,多输入按inputs名称提交TSV对象,总计最多1MiB。 | |
| module_id | Yes | Exact available module ID. / 当前可用的准确模块编号。 | |
| request_id | Yes | New UUID for a new task. On timeout query this ID; do not generate another automatically. / 新任务用新UUID,超时查询原编号,不自动换编号重提。 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations at all, the description carries the full burden and delivers: it discloses asynchronous background execution, a global single-job constraint, an admission throttle of one new job per 5 seconds, and that accepted/busy/rate_limited are not completion states. This is exactly the non-obvious runtime behavior an agent would otherwise have to discover by failing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The English text is dense, front-loaded, and every clause earns its place (submission action, completion caveat, concurrency limit, throttle, retry rule). The full Chinese restatement roughly doubles the length without adding new information for a single-language reader, which is the only waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the description covers submission, admission gating, and polling. It leaves unstated where module_id values come from (list_modules) and what the params override object actually supports, which matters for a tool with a free-form params bag.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters are already documented in the schema, including request_id's UUID and no-auto-regeneration rule. The description reinforces request_id idempotency ("retry the same ID") but adds no new syntax, format, or constraint detail beyond what the schema states, so the baseline applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete verb and resource ("Submit one TSV dataset") plus the mode of execution ("serial background plotting"), which is far more than the bare name conveys. It also names the sibling to use afterwards (get_result), so the agent can place this tool relative to get_result/get_module_schema without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit follow-up routing ("accepted is not completion; poll get_result") and explicit retry semantics for the busy/rate_limited outcomes ("wait and retry the same ID"). It does not cover prerequisites such as obtaining a valid module_id from list_modules or previewing inputs via get_module_demo, so a small gap remains.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_faqAInspect
Find website usage guidance and common troubleshooting answers by keyword or FAQ ID. Load only when needed. / 按关键词或编号查询网站使用说明及常见问题,按需读取。
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | FAQ entries per page, 1–20. / 每页问答数,1~20。 | |
| faq_id | No | Optional exact FAQ ID. / 可选的精确问答编号。 | |
| offset | No | Zero-based pagination offset. / 从0开始的分页起点。 | |
| keyword | No | FAQ keywords; all space-separated terms match. / 问答关键词,空格分词全部匹配。 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden; it implies a read-only lookup but never says so outright. It discloses nothing about pagination behavior, empty-result handling, or total-count semantics, and does not mention that results come back paged. For a low-risk read tool this is acceptable but leaves real gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded sentences that state the action first and the loading hint second; nothing is wasted. The bilingual duplication lengthens it, but that appears to be a deliberate localization convention rather than filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description needn't explain return values, and all four parameters are fully documented in the schema with zero required fields. What remains missing is only the when-to-use routing relative to siblings, which is a minor gap for a self-contained lookup tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents limit, offset, faq_id, and keyword with matching semantics. The description adds only the framing that keyword and FAQ ID are two lookup modes, without explaining precedence when both are supplied or that all space-separated terms must match.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Find website usage guidance and common troubleshooting answers' via keyword or FAQ ID. The purpose is unambiguous and distinct from siblings like draw_plot or get_module_schema, though the description never explicitly contrasts itself with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Load only when needed' gives a weak just-in-time usage hint, implying this is an on-demand lookup rather than something to call preemptively. There is no explicit when-not-to-use guidance and no named alternative among the siblings for related documentation needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_module_demoAInspect
Get configured example image/page links and a reading guide; no plotting occurs. Examples are not results for the user's data; missing links are not invented. / 获取已配置的示例图片、页面链接及读图说明,不执行绘图、不编造链接。
| Name | Required | Description | Default |
|---|---|---|---|
| module_id | Yes | Exact module_id from list_modules. / list_modules 返回的准确模块编号。 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations supplied, the description carries the full burden and does disclose key traits: it is a non-executing read ('no plotting occurs'), and it will not fabricate output ('missing links are not invented'). It does not mention permissions or pagination, but those are less critical for a per-module lookup.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Content is front-loaded in two compact clauses covering purpose then caveats. The bilingual duplication doubles the length, but each language version is tight and carries the same substantive constraints, not filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return structure need not be described, and the single required parameter is fully documented in the schema. What remains — that this is a read-only preview and that missing entries are not synthesized — is explicitly covered, which is sufficient for a one-parameter lookup tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single module_id parameter is documented in the schema as the exact id from list_modules. The description adds no further meaning about the identifier, so the schema does the work — the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete verb and resource: retrieves configured example image/page links plus a reading guide for a module. The caveats 'no plotting occurs' and 'examples are not results for the user's data' implicitly separate it from draw_plot and get_result, though neither sibling is named outright.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: an agent can infer this is for previewing what a module's output looks like, not for obtaining actual data. There is no explicit 'call this when...' clause and no named alternative to use instead, leaving the choice between get_module_demo and get_result partly to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_module_schemaAInspect
Read a module's TSV input format, column meanings, example, parameter aliases, defaults and constraints. Read once before drawing; full FAQ is optional. Use inputs for multi-input modules. / 查询模块数据格式、列含义、示例、参数别名、默认值和约束,完整问答按需加载。
| Name | Required | Description | Default |
|---|---|---|---|
| module_id | Yes | Exact module_id from list_modules. / list_modules 返回的准确模块编号。 | |
| include_details | No | Include full module FAQ only when needed; default false. / 需要完整模块问答时设为true,默认false。 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full disclosure burden. It signals a read-only retrieval ('Read'), lists the returned content categories, and usefully discloses that the FAQ payload is optional/lazy-loadable, which is a cost signal. However, it doesn't describe whether results are cached, how large a TSV schema payload is, or what happens if the module_id is not found.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Content is front-loaded with the output payload first, then the usage rule, then the multi-input caveat — a sensible order. It is compact in English, though the fully duplicated Chinese sentence doubles the length without adding information for a single-language reader.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the description is not obliged to explain return values, and the tool is a simple two-parameter read. Purpose, pre-draw timing, and the optional FAQ behavior are all covered, which is everything an agent needs to invoke this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3, and the description adds real meaning: it explains that aliases are part of what get_module_schema returns (and that 'inputs' should be used for multi-input modules), and that the full FAQ behind include_details is optional. This gives semantics for both parameters beyond their schema text, though it does not spell out the module_id lookup contract.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb ('Read') plus an enumerated resource: a module's TSV input format, column meanings, example, parameter aliases, defaults and constraints. It partially differentiates from siblings by noting that the full FAQ (get_faq) is optional, but it never distinguishes itself from get_module_demo or get_result, leaving some ambiguity about which lookup serves which need.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear situational guidance: 'Read once before drawing' positions this as a pre-flight step before draw_plot, and 'full FAQ is optional' tells the agent when not to pull in the heavier FAQ content. The instruction 'Use inputs for multi-input modules' is a useful but cryptic hint, and no explicit exclusion against the demo/result siblings is stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_resultAInspect
Check an existing drawing request's status and file links within the current key's result scope. Use after timeouts; do not submit a duplicate task. / 查询当前密钥结果范围内原任务的状态和文件链接,超时先查询,不重复提交。
| Name | Required | Description | Default |
|---|---|---|---|
| request_id | Yes | Original request_id used in draw_plot. / draw_plot 原请求编号。 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose the key-scoped visibility constraint and implies a read-only lookup, which is useful. However, it says nothing about result retention or expiry, whether a pending request returns a partial response, or any rate/retry limits, leaving meaningful behavioral gaps for a polling tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the action and scope, followed by the usage rule; no filler. The full bilingual restatement roughly doubles length, which is presumably intentional for the audience but is still duplicated content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and covers return values, the single parameter is fully documented, and the definition supplies the one rule an agent most needs (query instead of resubmitting). Only the absence of status-transition and result-lifetime context keeps it from being fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already explains that request_id is the one originally used in draw_plot. The description adds no format, syntax, or validity details beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Check) and resource (an existing drawing request's status and file links), plus the access scope ('within the current key's result scope'). This clearly separates it from draw_plot, which submits work rather than reading it back.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit trigger ('Use after timeouts') and an explicit prohibition ('do not submit a duplicate task'), which effectively routes the agent away from re-calling draw_plot. It does not cover other legitimate cases, such as routine polling for a submitted job, so it stops short of full when/when-not coverage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_modulesAInspect
Discover available bioinformatics plotting modules by purpose or data features. Return summaries and suitability; empty keyword browses pages. Entries with available=false are for introduction only and cannot be executed. / 查找生信模块,available=false仅供介绍,不能执行。
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Modules per page, 1–50. / 每页模块数,1~50。 | |
| offset | No | Zero-based pagination offset; use next_offset. / 分页起点,使用返回的 next_offset。 | |
| keyword | No | Search by purpose, data columns or plot name; space-separated terms all match. / 按用途、数据列或图名搜索,空格分词全部匹配。 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden and does disclose a non-obvious behavioral trait: entries with available=false are introduction-only and cannot be executed. It also states that summaries and suitability are returned and that empty keyword triggers browsing, though it never explicitly says the tool is read-only or how results are paged.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The content is dense and front-loaded, leading with purpose before caveats. The bilingual duplication roughly doubles the length, which is a real cost, but each clause still carries meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the description still flags the important available=false executability caveat. For a simple three-parameter listing tool this is close to sufficient; only explicit read-only and pagination framing are missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds one piece of meaning beyond the schema by explaining that an empty keyword browses pages, but limit/offset behavior is left entirely to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource ('Discover available bioinformatics plotting modules by purpose or data features'), which is clearly distinct from sibling tools like draw_plot or get_module_schema. It stops short of explicitly naming the siblings an agent should choose between.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides an implied usage hint that an empty keyword browses all pages and that searchable terms are purposes or data features, but it never states when an agent should call this instead of get_module_schema or draw_plot. The selection logic is left largely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
6 tool updates
- First observed
draw_plot - First observed
get_faq - First observed
get_module_demo - First observed
get_module_schema - First observed
get_result - First observed
list_modules
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceRemote MCP server that lets AI assistants read tracked competitive intelligence — competitor news, reviews, website changes, social posts and ads — and act on it by managing projects, competitors, battle cards, reports and canvases. Every answer carries a source and a date, and write actions only publish when explicitly shared.MIT
- AlicenseCqualityBmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs115 npm58 PyPIMIT
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.1623 npm1MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.