MCP server for querying RSS posts from NodeSeek and DeepFlood forums with filtering by source, tags, and time range
NodeSeek MCP Server demonstrates solid definition quality with explicit tool registration, comprehensive parameter schemas, and structured output models. All three tools are clearly defined with descriptions, input parameters, and response types. However, there are notable gaps in error handling guidance, parameter validation rules, and some descriptions could be more actionable. The server follows a consistent pattern with Pydantic models for responses and proper type annotations. Parameter descriptions are generally good (72-100 chars average), though they could be more concise for LLM optimization (target 50-200 chars per pattern:tool-description).
获取当前时间,默认为Asia/Shanghai,可指定时区
查询论坛 RSS 帖子,可按来源(nodeseek 或 deepflood)、标签(又称板块、频道或分区)、时间区间和分页过滤;若未指定时间区间,则默认返回最近1小时内的帖子;时间均以 Asia/Shanghai 时区计算;标签可通过 get_forum_rss_tags 获取
列出可用于过滤的论坛标签(也常被称为标签、板块、频道或分区),返回英文原始值与中文展示名称
Parameter interdependencies not enforced in schema. get_forum_rss_posts describes that start_time and end_time must be provided together, but the schema has no conditional constraint (e.g., allOf, oneOf, or dependentRequired in JSON Schema). LLMs may pass only one, leading to silent failures or incorrect API behavior.
Error recovery guidance missing. Response models include success/error fields, but descriptions do not guide LLMs on what to do when errors occur. E.g., get_current_time says 'Invalid timezone: {timezone}' but does not suggest 'Call get_current_time with a valid IANA timezone name' or link to available timezones.
Numeric parameter constraints not fully documented. get_forum_rss_posts page_size has range 1-200 stated in description but not in schema constraints (no minimum/maximum in JSON Schema). page parameter minimum 1 is mentioned but not enforced. LLMs cannot reliably parse textual constraints and may pass invalid values.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 69 | 2026-07-28+ | v2 |
| 2026-03-09 | C | 67 | - | v1 |
Tool descriptions lack dependency hints. get_forum_rss_tags and get_forum_rss_posts have a clear dependency (call get_forum_rss_tags first to see available tag values), but descriptions do not state this, forcing LLMs to discover the relationship through trial and error.
Output response fields are verbose but include all necessary chaining IDs. GetRssPostHistoryResponse includes post_id and url in each RssPostItem, enabling downstream tool calls. However, there is no explicit tool that accepts these IDs for follow-up actions (e.g., get_post_details, add_comment), limiting composability.