MCP Standard Finder
概述
安装
工具列表
内容详情
替代品
什么是Standards Finder?
Standards Finder是一个专门用于访问和搜索互联网标准的智能工具服务器。它能够帮助用户轻松查找、阅读和分析各种互联网协议文档,包括RFC(请求评论)、Internet Drafts(互联网草案)和OpenID Foundation规范。如何使用Standards Finder?
通过配置MCP客户端连接到Standards Finder服务器,您可以直接在支持MCP协议的应用程序中搜索和阅读互联网标准文档。支持两种连接方式:Stdio模式(进程通信)和HTTP模式(网络服务)。适用场景
适用于网络协议开发人员、技术文档编写者、学术研究人员、标准制定参与者等需要频繁查阅互联网标准文档的专业人士。特别适合在开发过程中快速查找协议细节、版本信息和相关规范。主要功能
RFC文档支持
支持按编号获取RFC文档、关键词搜索RFC、提取特定章节内容,支持HTML和TXT格式解析
互联网草案支持
按名称获取互联网草案(自动检测最新版本)、关键词搜索、版本感知处理、章节提取功能
OpenID Foundation规范支持
获取OpenID规范、搜索相关文档、提取章节内容,支持所有主要OpenID规范
工作组文档支持
获取IETF工作组的所有RFC和互联网草案、自动过滤过期或撤回的文档、灵活的筛选选项
智能缓存
内存缓存机制提高重复请求性能,减少网络请求次数
双传输模式
支持Stdio模式(进程通信)和HTTP模式(网络服务),满足不同使用场景
进度通知
长时间运行操作时提供实时进度更新,改善用户体验
完整元数据
提取作者、日期、状态、摘要等完整文档信息,便于快速了解文档概况
优势
零依赖:仅使用Python标准库,无需安装额外包
实时数据:直接从IETF官方源获取最新文档
智能版本处理:自动获取互联网草案的最新版本
灵活的输出格式:支持完整文档、元数据或仅章节内容
强大的搜索能力:支持关键词搜索和精确文档获取
工作组集成:可按工作组查看所有相关文档
MCP协议兼容:与所有MCP兼容客户端无缝集成
局限性
需要网络连接:所有文档都从在线源获取
大文档响应可能被截断:Stdio模式下超过200KB的响应会被自动截断
依赖IETF服务可用性:服务依赖于rfc-editor.org和datatracker.ietf.org的可用性
HTTP模式需要额外安全考虑:网络暴露需要适当的安全配置
如何使用
安装和启动服务器
下载标准查找器Python脚本并启动服务器。可以选择Stdio模式或HTTP模式运行。
配置MCP客户端
在支持MCP协议的客户端中配置服务器连接信息。根据选择的运行模式配置相应的连接参数。
开始使用工具
在客户端中调用可用的工具来搜索和获取互联网标准文档。支持RFC、互联网草案、OpenID规范和工作组文档。
使用资源URI
通过资源URI直接访问文档,支持RFC、草案、工作组和OpenID规范的统一资源标识符。
使用案例
查找HTTP协议相关文档
开发人员需要了解HTTP协议的历史版本和最新发展,查找相关的RFC和草案文档
研究OAuth工作组活动
安全研究人员需要了解OAuth工作组的最新工作进展和所有相关文档
学习OpenID Connect规范
应用开发者需要实现OpenID Connect认证,需要查阅核心规范的具体要求
比较TLS协议版本
网络工程师需要比较不同TLS版本的差异,查找相关的标准文档
常见问题
Standards Finder需要安装哪些依赖?
Standards Finder是零依赖的,仅使用Python标准库,无需安装任何额外的Python包。
Stdio模式和HTTP模式有什么区别?
Stdio模式通过进程间通信工作,更安全可靠;HTTP模式通过网络服务工作,更适合开发和调试。生产环境推荐使用Stdio模式。
如何获取互联网草案的最新版本?
在草案名称中不包含版本号即可自动获取最新版本,例如使用'draft-ietf-httpbis-http2'而不是'draft-ietf-httpbis-http2-17'。
搜索功能支持哪些类型的文档?
支持搜索RFC、互联网草案和OpenID Foundation规范,可以按关键词、工作组或特定文档名称进行搜索。
如何处理大文档的响应?
在Stdio模式下,超过200KB的响应会被自动截断。建议使用'metadata'格式获取文档概要,或分章节获取内容。
支持哪些IETF工作组?
支持所有IETF工作组,包括httpbis、oauth、tls、quic、dnsop等热门工作组。可以使用'get_working_group_documents'工具查看特定工作组的所有文档。
如何调试连接问题?
可以使用--log-level DEBUG参数启动服务器查看详细日志,或使用MCP Inspector进行协议级调试。
相关资源
GitHub仓库
原始项目的GitHub代码仓库
MCP协议文档
Model Context Protocol官方规范文档
IETF数据追踪器
IETF官方文档和数据追踪平台
RFC编辑器
官方RFC文档发布平台
OpenID Foundation
OpenID Foundation规范文档
MCP Inspector
MCP协议调试和测试工具
安装
复制以下命令到你的Client进行配置
{
"mcpServers": {
"rfc-server": {
"command": "python3",
"args": ["standard_finder.py"],
"cwd": "/path/to/mcp-rfc",
"disabled": false,
"autoApprove": []
}
}
}
{
"mcpServers": {
"rfc-server": {
"url": "http://localhost:3000/mcp",
"transport": "http",
"disabled": false,
"autoApprove": []
}
}
}
{
"mcpServers": {
"rfc-server": {
"command": "uvx",
"args": ["--from", ".", "standard_finder.py"],
"cwd": "/path/to/mcp-rfc",
"disabled": false,
"autoApprove": []
}
}
}注意:您的密钥属于敏感信息,请勿与任何人分享。
🚀 标准查找器 - RFC和互联网草案MCP服务器
标准查找器是一个综合性的Python MCP服务器,用于从IETF网站获取、解析和读取RFC(请求评论)和互联网草案。它提供了一系列工具和资源,可通过编程方式与RFC文档、互联网草案和IETF工作组文档进行交互。
我要感谢 @mjpitz/mcp-rfc 提供的基础。本解决方案是基于Python的移植和扩展,使用了 Kiro。
🚀 快速开始
标准查找器使用Python标准库,无需额外安装依赖。你可以直接运行以下命令启动服务器:
# 立即运行 - 无需安装!
python3 standard_finder.py
# 以HTTP模式运行
python3 standard_finder.py --http
# 在自定义端口以HTTP模式运行
python3 standard_finder.py --http --port 8080
✨ 主要特性
RFC支持
- 按编号获取RFC文档。
- 按关键字搜索RFC。
- 从RFC文档中提取特定章节。
- 解析HTML和TXT格式的RFC文档。
互联网草案支持
- 按名称获取互联网草案文档(自动检测最新版本)。
- 使用IETF数据跟踪器API按关键字搜索互联网草案。
- 自动或明确获取互联网草案的最新版本。
- 从互联网草案中提取特定章节。
- 解析HTML和TXT格式的互联网草案。
- 支持版本感知处理(例如,
draft-name-05与draft-name获取最新版本)。
OpenID基金会支持
- 按名称获取OpenID基金会规范。
- 按关键字搜索OpenID规范。
- 从OpenID规范中提取特定章节。
- 支持所有主要的OpenID规范(连接核心、发现、注册等)。
- 解析HTML格式的规范并提取元数据。
- 对长时间运行的操作提供进度通知。
工作组支持
- 完整的工作组文档:检索任何IETF工作组的所有RFC和互联网草案。
- 活动文档过滤:自动过滤掉过期、撤回或替换的草案。
- 工作组元数据:包括工作组信息、描述和状态。
- 灵活过滤:选择包含/排除RFC或草案,设置每种类型的限制。
- 流行工作组:已在httpbis、oauth、tls、quic、dnsop等工作组进行测试。
通用特性
- 智能缓存:提高重复请求的性能。
- 全面的元数据:提取作者、日期、状态、摘要等信息。
- 基于章节的解析:按章节和子章节浏览文档。
- 多种输出格式:完整文档、仅元数据或仅章节。
- 强大的错误处理:优雅的回退机制和详细的错误消息。
- 符合MCP协议:与MCP兼容的客户端和MCP检查器完全集成。
- 双传输模式支持:支持stdio和HTTP传输模式。
- 增强的RFC解析:改进了各种RFC格式的标题提取。
- 进度通知:对长时间运行的操作提供实时进度更新。
- 高级日志记录:全面的日志记录,详细跟踪初始化阶段。
- 与MCP检查器兼容:具有正确的工具模式格式和参数验证。
- 通知支持:正确处理所有标准MCP通知。
- 传输健壮性:增强的错误处理和连接管理。
- 符合JSON - RPC 2.0:完全符合JSON - RPC 2.0规范。
📦 安装指南
标准查找器仅使用Python标准库,无需额外安装依赖。你可以直接运行以下命令启动服务器:
# 立即运行 - 无需安装!
python3 standard_finder.py
# 以HTTP模式运行
python3 standard_finder.py --http
# 在自定义端口以HTTP模式运行
python3 standard_finder.py --http --port 8080
💻 使用示例
基础用法
# 获取RFC 2616的元数据
await mcp.call_tool('get_rfc', {'number': '2616', 'format': 'metadata'})
# 搜索与HTTP协议相关的RFC
await mcp.call_tool('search_rfcs', {'query': 'http protocol', 'limit': 5})
高级用法
# 获取HTTPbis工作组的所有文档,包括RFC和互联网草案
await mcp.call_tool('get_working_group_documents', {
"working_group": "httpbis",
"include_rfcs": true,
"include_drafts": true,
"limit": 20
})
📚 详细文档
可用工具
RFC工具
get_rfc
按编号获取RFC文档。 参数:
number(字符串,必需):RFC编号(例如 "2616")。format(字符串,可选):输出格式(full、metadata、sections),默认:"full"。 示例:
{
"number": "2616",
"format": "metadata"
}
search_rfcs
按关键字搜索RFC。 参数:
query(字符串,必需):搜索关键字或短语。limit(数字,可选):返回的最大结果数,默认:10。 示例:
{
"query": "http protocol",
"limit": 5
}
get_rfc_section
从RFC中获取特定章节。 参数:
number(字符串,必需):RFC编号(例如 "2616")。section(字符串,必需):要检索的章节标题或编号。 示例:
{
"number": "2616",
"section": "Introduction"
}
互联网草案工具
get_internet_draft
按名称获取互联网草案文档。如果未指定版本,自动获取最新版本。 参数:
name(字符串,必需):互联网草案名称,可包含或不包含版本(例如 "draft - ietf - httpbis - http2 - 17" 或 "draft - ietf - httpbis - http2" 获取最新版本)。format(字符串,可选):输出格式(full、metadata、sections),默认:"full"。 示例:
{
"name": "draft - ietf - httpbis - http2 - 17",
"format": "metadata"
}
{
"name": "draft - ietf - httpbis - http2",
"format": "full"
}
search_internet_drafts
按关键字搜索互联网草案。 参数:
query(字符串,必需):搜索关键字或短语。limit(数字,可选):返回的最大结果数,默认:10。 示例:
{
"query": "http2 protocol",
"limit": 5
}
get_internet_draft_section
从互联网草案中获取特定章节。 参数:
name(字符串,必需):互联网草案名称(例如 "draft - ietf - httpbis - http2 - 17")。section(字符串,必需):要检索的章节标题或编号。 示例:
{
"name": "draft - ietf - httpbis - http2 - 17",
"section": "Introduction"
}
get_working_group_documents
获取特定IETF工作组的所有活动RFC和互联网草案。 参数:
working_group(字符串,必需):IETF工作组缩写(例如 "httpbis"、"oauth"、"tls")。include_rfcs(布尔值,可选):结果中是否包含RFC(默认:true)。include_drafts(布尔值,可选):结果中是否包含互联网草案(默认:true)。limit(数字,可选):每种类型的最大文档数(默认:50)。 示例:
{
"working_group": "httpbis",
"include_rfcs": true,
"include_drafts": true,
"limit": 20
}
响应包括:
- 工作组信息(名称、描述、状态)。
- 工作组发布的RFC列表。
- 工作组的活动互联网草案列表。
- 摘要统计信息(总数)。
OpenID基金会工具
get_openid_spec
按名称获取OpenID基金会规范。 参数:
name(字符串):OpenID规范的名称或标识符。format(字符串,可选):输出格式 - "full"(默认)、"metadata" 或 "sections"。 示例:
# 获取OpenID Connect核心规范
await mcp.call_tool('get_openid_spec', {'name': 'openid - connect - core'})
# 仅获取元数据
await mcp.call_tool('get_openid_spec', {'name': 'openid - connect - discovery', 'format': 'metadata'})
# 仅获取章节
await mcp.call_tool('get_openid_spec', {'name': 'oauth - 2.0 - multiple - response - types', 'format': 'sections'})
search_openid_specs
按关键字搜索OpenID基金会规范。 参数:
query(字符串):搜索查询/关键字。limit(整数,可选):最大结果数(默认:10)。 示例:
# 搜索OpenID Connect规范
await mcp.call_tool('search_openid_specs', {'query': 'connect'})
# 搜索OAuth规范
await mcp.call_tool('search_openid_specs', {'query': 'oauth', 'limit': 5})
get_openid_spec_section
从OpenID基金会规范中获取特定章节。 参数:
name(字符串):OpenID规范的名称。section(字符串):要检索的章节标题或标识符。 示例:
# 从OpenID Connect核心规范中获取身份验证章节
await mcp.call_tool('get_openid_spec_section', {
'name': 'openid - connect - core',
'section': 'Authentication'
})
可用资源
RFC资源
rfc://{number}:按编号获取RFC文档。rfc://search/{query}:按关键字搜索RFC。
互联网草案资源
draft://{name}:按名称获取互联网草案文档(如果未指定版本,获取最新版本)。draft://search/{query}:按关键字搜索互联网草案。draft://latest/{basename}:按基本名称获取互联网草案的最新版本。
工作组资源
wg://{group}:获取工作组的所有文档(RFC和互联网草案)。wg://{group}/rfcs:仅获取工作组的RFC。wg://{group}/drafts:仅获取工作组的互联网草案。
OpenID基金会资源
openid://{name}:按名称获取OpenID基金会规范。openid://search/{query}:按关键字搜索OpenID规范。
命令行选项
python3 standard_finder.py --help # 显示帮助信息
python3 standard_finder.py # 以stdio模式运行(默认)
python3 standard_finder.py --stdio # 明确以stdio模式运行
python3 standard_finder.py --http # 在端口3000上运行HTTP服务器
python3 standard_finder.py --http --port 8080 # 在端口8080上运行HTTP服务器
python3 standard_finder.py --log - level DEBUG # 设置日志级别(DEBUG、INFO、WARNING、ERROR)
python3 standard_finder.py --log - dir /var/log/rfc # 自定义日志目录
日志记录
服务器包含全面的日志记录,具有自动轮转和增强的调试功能:
日志特性
- 特定实例的日志文件:每个服务器实例都有自己的日志文件。
- 自动轮转:日志文件在达到10MB时轮转,保留5个备份文件。
- 带时间戳的文件名:格式:
rfc_server_YYYYMMDD_HHMMSS_PID.log。 - 多个日志级别:DEBUG、INFO、WARNING、ERROR。
- 结构化日志:包括时间戳、函数名和行号。
- 增强的初始化日志:详细跟踪MCP初始化阶段。
- 请求/响应日志:完全可见MCP协议交换。
- 进度通知:对长时间运行的操作进行实时日志记录。
- 错误诊断:全面的错误报告,包含完整上下文。
日志位置
- 默认:
/tmp/rfc_server/。 - 自定义:使用
--log - dir选项。 - 权限:确保目录可写。
日志内容
- 服务器生命周期:启动/关闭事件,包含详细配置。
- MCP协议:所有请求、响应和通知,包含完整JSON。
- 初始化阶段:客户端初始化过程的详细日志记录。
- 工具执行:RFC和互联网草案获取操作的时间记录。
- 错误条件:包含完整请求上下文的堆栈跟踪。
- 性能指标:缓存命中、响应大小和时间数据。
- 传输层:STDIO和HTTP连接管理。
- 验证:JSON - RPC 2.0合规性和模式验证。
增强的初始化日志
🚀 INITIALIZE REQUEST RECEIVED
Handling request: initialize (ID: 1)
Request timestamp: 2024 - 10 - 01T18:08:29.123456
Validating initialize request format:
✅ protocolVersion: str
Protocol version: 2024 - 11 - 05
✅ clientInfo: dict
Client name: mcp - client
Client version: 1.0.0
📤 SENDING INITIALIZE RESPONSE
==================================================
Initialize response being sent to client:
Response size: 456 bytes
Response ID: 1 (type: int)
Raw JSON: {"jsonrpc":"2.0","id":1,"result":...}
==================================================
✅ INITIALIZE RESPONSE SENT SUCCESSFULLY
📢 NOTIFICATIONS/INITIALIZED RECEIVED
✅ Client initialization confirmed - server is ready for requests
示例日志条目
2024 - 10 - 01 18:08:29,123 - rfc_server - INFO - main:45 - Starting RFC MCP Server with arguments: {'http': true, 'port': 3000}
2024 - 10 - 01 18:08:29,456 - rfc_server - INFO - handle_request:289 - 🚀 INITIALIZE REQUEST RECEIVED
2024 - 10 - 01 18:08:29,789 - rfc_server - INFO - handle_request:345 - ✅ JSON - RPC 2.0 version confirmed
2024 - 10 - 01 18:08:30,012 - rfc_server - INFO - run_stdio:837 - ✅ INITIALIZE RESPONSE SENT SUCCESSFULLY
2024 - 10 - 01 18:08:30,234 - rfc_server - INFO - handle_request:567 - 📢 NOTIFICATIONS/INITIALIZED RECEIVED
测试HTTP模式
启动HTTP服务器:
python3 standard_finder.py --http
测试端点:
# 健康检查
curl http://localhost:3000/health
# 初始化MCP会话
curl -X POST http://localhost:3000/mcp \
-H "Content - Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024 - 11 - 05","capabilities":{},"clientInfo":{"name":"test","version":"1.0.0"}}}'
# 列出工具
curl -X POST http://localhost:3000/mcp \
-H "Content - Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'
# 调用RFC工具
curl -X POST http://localhost:3000/mcp \
-H "Content - Type: application/json" \
-d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"get_rfc","arguments":{"number":"2616","format":"metadata"}}}'
# 调用工作组工具
curl -X POST http://localhost:3000/mcp \
-H "Content - Type: application/json" \
-d '{"jsonrpc":"2.0","id":4,"method":"tools/call","params":{"name":"get_working_group_documents","arguments":{"working_group":"oauth","limit":10}}}'
# 获取OpenID Connect核心规范
curl -X POST http://localhost:3000/mcp \
-H "Content - Type: application/json" \
-d '{"jsonrpc":"2.0","id":5,"method":"tools/call","params":{"name":"get_openid_spec","arguments":{"name":"openid - connect - core","format":"metadata"}}}'
# 搜索OpenID规范
curl -X POST http://localhost:3000/mcp \
-H "Content - Type: application/json" \
-d '{"jsonrpc":"2.0","id":6,"method":"tools/call","params":{"name":"search_openid_specs","arguments":{"query":"oauth","limit":5}}}'
开发
项目结构
standard_finder.py # 主MCP服务器(零依赖)
requirements.txt # 可选的Python依赖
tests/
test_final.py # 全面的测试套件
README.md # 本文件
output/ # 生成的输出文件
运行测试
# 运行全面的测试套件
python3 tests/test_final.py
# 或者使用npm
npm test
MCP检查器兼容性
服务器与 MCP检查器 完全兼容,可用于调试和测试MCP工具:
模式格式
- 包装参数:工具模式使用MCP检查器期望的格式,带有命名输入包装器(例如,
GetRfcInput、SearchRfcsInput)。 - 向后兼容性:仍然支持现有客户端的直接参数格式。
- 自动检测:自动检测并处理两种参数格式。
- 全面的模式:所有9个工具都有详细的JSON模式定义和正确的验证。
- 参数描述:丰富的参数描述和约束,以提供更好的用户体验。
协议合规性
- JSON - RPC 2.0:完全符合JSON - RPC 2.0规范。
- MCP通知:正确处理
notifications/initialized和其他标准通知。 - ID一致性:保持请求和响应之间的ID类型一致性。
- 错误处理:正确的错误响应格式,带有适当的错误代码。
使用MCP检查器进行测试
# 以HTTP模式启动服务器
python3 standard_finder.py --http --port 3000
# 将MCP检查器连接到http://localhost:3000/mcp
# 所有工具将以正确的参数模式和验证显示
# 测试直接和包装参数格式
调试功能
- 增强的日志记录:详细记录初始化阶段和所有MCP操作。
- 请求/响应跟踪:完全可见MCP协议交换。
- 验证日志:详细验证请求和响应。
- 错误诊断:全面的错误报告,带有堆栈跟踪。
传输模式
Stdio模式(默认)
- ✅ MCP标准:官方MCP传输协议。
- ✅ 基于进程:客户端将服务器作为子进程启动。
- ✅ 可靠:直接的进程通信。
- ✅ 安全:无网络暴露。
- ✅ 与Q CLI兼容:与MCP客户端完美配合。
HTTP模式
- 🌐 基于网络:服务器作为HTTP服务运行。
- 🔧 开发/测试:对调试有用。
- 🌍 Web集成:启用CORS以支持浏览器访问。
- 🔒 网络安全:需要额外的安全考虑。
快速开始示例
使用MCP客户端
配置完成后,你可以在任何MCP兼容的客户端中使用这些工具:
# 获取RFC 2616(HTTP/1.1)
await mcp.call_tool('get_rfc', {'number': '2616', 'format': 'metadata'})
# 搜索与HTTP相关的RFC
await mcp.call_tool('search_rfcs', {'query': 'HTTP', 'limit': 5})
# 获取最新的HTTP/2互联网草案
await mcp.call_tool('get_internet_draft', {'name': 'draft - ietf - httpbis - http2'})
# 搜索WebSocket草案
await mcp.call_tool('search_internet_drafts', {'query': 'websocket'})
# 获取OAuth工作组的所有文档
await mcp.call_tool('get_working_group_documents', {
'working_group': 'oauth',
'include_rfcs': true,
'include_drafts': true,
'limit': 20
})
# 仅获取TLS工作组的RFC
await mcp.call_tool('get_working_group_documents', {
'working_group': 'tls',
'include_rfcs': true,
'include_drafts': false,
'limit': 10
})
# 获取OpenID Connect核心规范
await mcp.call_tool('get_openid_spec', {
'name': 'openid - connect - core',
'format': 'metadata'
})
# 搜索OAuth规范
await mcp.call_tool('search_openid_specs', {
'query': 'oauth',
'limit': 5
})
使用资源
# 通过资源URI访问
await mcp.read_resource('rfc://2616')
await mcp.read_resource('draft://draft - ietf - httpbis - http2')
await mcp.read_resource('rfc://search/HTTP')
# 工作组资源
await mcp.read_resource('wg://httpbis') # 所有文档
await mcp.read_resource('wg://oauth/rfcs') # 仅RFC
await mcp.read_resource('wg://tls/drafts') # 仅草案
🔧 技术细节
服务器实现了三个主要组件:
- RFC服务:处理从RFC中获取、解析和提取数据,具有增强的标题解析功能。
- 互联网草案服务:处理从互联网草案中获取、解析和提取数据,支持工作组。
- MCP服务器:实现MCP协议,并通过stdio和HTTP传输暴露工具和资源。
标准查找器仅使用Python标准库,采用TXT格式解析以实现最大兼容性。互联网草案服务与IETF数据跟踪器API集成,以增强搜索功能和工作组文档检索。
关键特性
智能版本处理
互联网草案服务自动检测你是请求特定版本还是最新版本:
draft - ietf - httpbis - http2 - 17→ 专门获取版本17。draft - ietf - httpbis - http2→ 自动获取最新可用版本。
工作组集成
- 完整的文档检索:获取任何IETF工作组的所有RFC和互联网草案。
- 实时数据:使用实时IETF数据跟踪器API获取最新信息。
- 智能过滤:自动排除过期、撤回或替换的文档。
- 灵活选项:根据需要选择文档类型并设置限制。
强大的错误处理
- 优雅地处理网络超时和故障。
- 无效的RFC/草案编号返回详细的错误消息。
- 回退机制确保最大兼容性。
- 全面的日志记录用于调试和监控。
性能优化
- 内存缓存减少重复的网络请求。
- 并发请求处理提高吞吐量。
- 高效解析HTML和纯文本格式。
- HTTP模式支持多个同时连接。
- 增强的RFC标题提取以获取更好的元数据。
数据源
- RFC:官方IETF RFC存储库(rfc - editor.org)。
- 互联网草案:IETF数据跟踪器(datatracker.ietf.org)。
- 工作组:IETF数据跟踪器API(datatracker.ietf.org/api)。
- 搜索:IETF数据跟踪器API,带有网页抓取回退机制。
支持的流行工作组
- httpbis - HTTP协议规范。
- oauth - OAuth身份验证和授权。
- tls - 传输层安全。
- quic - QUIC传输协议。
- dnsop - DNS操作。
- jose - JSON对象签名和加密。
- ietf - 一般IETF文档。
- 还有更多...
📄 许可证
本项目采用Apache许可证2.0 - 有关详细信息,请参阅 LICENSE 文件。
近期改进
版本0.2504.4 - 最新增强功能
MCP检查器兼容性
- 工具模式格式:更新为与MCP检查器兼容的格式,带有命名输入包装器。
- 参数处理:双格式支持 - 处理包装和直接参数格式。
- 自动检测:自动检测参数格式并相应处理。
- 全面的模式:所有9个工具都有详细的JSON模式定义。
协议合规性
- JSON - RPC 2.0:完全符合JSON - RPC 2.0规范。
- MCP通知:增加了对
notifications/initialized和其他标准通知的支持。 - ID一致性:增强了请求和响应之间的ID类型保留。
- 错误处理:改进了错误响应格式,带有正确的错误代码。
增强的日志记录
- 初始化阶段跟踪:详细记录完整的MCP初始化序列。
- 请求/响应日志:完全可见所有MCP协议交换。
- 进度通知:对长时间运行的操作进行实时日志记录。
- 验证日志:全面验证请求和响应。
- 错误诊断:增强的错误报告,包含完整上下文和堆栈跟踪。
传输层改进
- STDIO健壮性:增强的错误处理和连接管理。
- 响应大小管理:在STDIO模式下自动截断大响应。
- 字符清理:改进了响应中特殊字符的处理。
- 连接跟踪:详细记录连接生命周期和状态。
工具增强
- 进度回调:为关键工具添加了进度通知支持。
- 参数验证:增强的参数验证,带有详细的错误消息。
- OpenID基金会支持:与OpenID规范目录完全集成。
- 工作组文档:增强的元数据和过滤功能。
兼容性
- 向后兼容:所有现有客户端无需更改即可继续工作。
- MCP检查器就绪:与MCP检查器完全兼容,用于调试。
- Q CLI兼容:与Q CLI和其他MCP客户端无缝配合。
- HTTP/STDIO双模式:两种传输模式都得到充分支持和测试。
故障排除
常见问题
MCP检查器连接问题
# 确保服务器以HTTP模式运行
python3 standard_finder.py --http --port 3000
# 检查服务器是否响应
curl http://localhost:3000/health
# 验证MCP端点
curl -X POST http://localhost:3000/mcp \
-H "Content - Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024 - 11 - 05","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}'
STDIO模式问题
- 大响应截断:在STDIO模式下,超过200KB的响应会自动截断。
- 字符编码:为了与STDIO兼容,会清理特殊字符。
- 连接中断:检查日志中的传输关闭问题。
日志记录和调试
# 启用调试日志
python3 standard_finder.py --log - level DEBUG
# 检查日志文件
ls -la /tmp/rfc_server/
# 监控实时日志
tail -f /tmp/rfc_server/rfc_server_*.log
工具参数问题
- MCP检查器格式:使用包装参数,如
{"GetRfcInput": {"number": "2616"}}。 - 直接格式:使用直接参数,如
{"number": "2616", "format": "metadata"}。 - 自动检测:服务器自动检测并处理两种格式。
性能优化
- 缓存:响应在内存中缓存,以处理重复请求。
- 格式选择:当不需要完整内容时,使用
"metadata"格式以获得更快的响应。 - 限制参数:在搜索操作中使用适当的限制,以避免超时。
get_rfc
根据RFC编号获取RFC文档
参数
number : string*
描述
RFC编号(例如:'2616'、'7540')
参数
format : string*
描述
输出格式:完整文档、仅元数据或仅章节
search_rfcs
通过关键词搜索RFC文档
参数
query : string*
描述
搜索查询或关键词
参数
limit : integer*
描述
返回结果的最大数量
get_rfc_section
从RFC中获取特定章节
参数
number : string*
描述
RFC编号(例如:'2616')
参数
section : string*
描述
要检索的章节标题或标识符
get_internet_draft
根据名称获取互联网草案文档
参数
name : string*
描述
互联网草案名称(例如:'draft-ietf-httpbis-http2'或'draft-ietf-httpbis-http2-17')
参数
format : string*
描述
输出格式:完整文档、仅元数据或仅章节
search_internet_drafts
通过关键词搜索互联网草案
参数
query : string*
描述
搜索查询或关键词
参数
limit : integer*
描述
返回结果的最大数量
get_internet_draft_section
从互联网草案中获取特定章节
参数
name : string*
描述
互联网草案名称
参数
section : string*
描述
要检索的章节标题或标识符
get_openid_spec
根据名称获取OpenID基金会规范
参数
name : string*
描述
OpenID规范名称(例如:'openid-connect-core'、'oauth-2.0-multiple-response-types')
参数
format : string*
描述
输出格式:完整文档、仅元数据或仅章节
search_openid_specs
通过关键词搜索OpenID基金会规范
参数
query : string*
描述
搜索查询或关键词
参数
limit : integer*
描述
返回结果的最大数量
get_openid_spec_section
从OpenID基金会规范中获取特定章节
参数
name : string*
描述
OpenID规范名称
参数
section : string*
描述
要检索的章节标题或标识符
get_working_group_documents
获取特定IETF工作组的所有活跃RFC和互联网草案
参数
working_group : string*
描述
IETF工作组名称(例如:'httpbis'、'oauth'、'tls')
参数
include_rfcs : boolean*
描述
包含工作组发布的RFC
参数
include_drafts : boolean*
描述
包含工作组的活跃互联网草案
参数
limit : integer*
描述
返回文档的最大数量
替代品

Vestige
Vestige是一个基于认知科学的AI记忆引擎,通过实现预测误差门控、FSRS-6间隔重复、记忆梦境等29个神经科学模块,为AI提供长期记忆能力。包含3D可视化仪表板和21个MCP工具,完全本地运行,无需云端。
Rust
9.9K
4.5分
M
Moltbrain
MoltBrain是一个为OpenClaw、MoltBook和Claude Code设计的长期记忆层插件,能够自动学习和回忆项目上下文,提供智能搜索、观察记录、分析统计和持久化存储功能。
TypeScript
10.7K
4.5分

Bm.md
一个功能丰富的Markdown排版工具,支持多种样式主题和平台适配,提供实时编辑预览、图片导出和API集成能力
TypeScript
18.4K
5分
S
Security Detections MCP
Security Detections MCP 是一个基于Model Context Protocol的服务器,允许LLM查询统一的安全检测规则数据库,涵盖Sigma、Splunk ESCU、Elastic和KQL格式。最新3.0版本升级为自主检测工程平台,可自动从威胁情报中提取TTPs、分析覆盖差距、生成SIEM原生格式检测规则、运行测试并验证。项目包含71+工具、11个预构建工作流提示和知识图谱系统,支持多SIEM平台。
TypeScript
10.2K
4分

Paperbanana
PaperBanana是一个自动化生成学术图表和统计图的智能框架,支持从文本描述生成高质量的论文插图,采用多智能体管道和迭代优化,提供CLI、Python API和MCP服务器等多种使用方式。
Python
10.2K
5分

Finlab Ai
FinLab AI是一个金融量化分析平台,通过AI技术帮助用户发现投资策略中的超额收益(alpha)。它提供丰富的数据集、回测框架和策略示例,支持自动化安装与集成到主流AI编程助手。
9.4K
4分

Better Icons
一个提供超过20万图标搜索和检索的MCP服务器和CLI工具,支持150多个图标库,帮助AI助手和开发者快速获取和使用图标。
TypeScript
9.9K
4.5分

Assistant Ui
assistant-ui是一个开源TypeScript/React库,用于快速构建生产级AI聊天界面,提供可组合的UI组件、流式响应、无障碍访问等功能,支持多种AI后端和模型。
TypeScript
9.2K
5分

Duckduckgo MCP Server
已认证
DuckDuckGo搜索MCP服务器,为Claude等LLM提供网页搜索和内容抓取服务
Python
97.6K
4.3分

Firecrawl MCP Server
Firecrawl MCP Server是一个集成Firecrawl网页抓取能力的模型上下文协议服务器,提供丰富的网页抓取、搜索和内容提取功能。
TypeScript
177.5K
5分

Figma Context MCP
Framelink Figma MCP Server是一个为AI编程工具(如Cursor)提供Figma设计数据访问的服务器,通过简化Figma API响应,帮助AI更准确地实现设计到代码的一键转换。
TypeScript
84.3K
4.5分

Exa Web Search
已认证
Exa MCP Server是一个为AI助手(如Claude)提供网络搜索功能的服务器,通过Exa AI搜索API实现实时、安全的网络信息获取。
TypeScript
72.5K
5分

Baidu Map
已认证
百度地图MCP Server是国内首个兼容MCP协议的地图服务,提供地理编码、路线规划等10个标准化API接口,支持Python和Typescript快速接入,赋能智能体实现地图相关功能。
Python
55.9K
4.5分

Context7
Context7 MCP是一个为AI编程助手提供实时、版本特定文档和代码示例的服务,通过Model Context Protocol直接集成到提示中,解决LLM使用过时信息的问题。
TypeScript
120.6K
4.7分

Minimax MCP Server
MiniMax Model Context Protocol (MCP) 是一个官方服务器,支持与强大的文本转语音、视频/图像生成API交互,适用于多种客户端工具如Claude Desktop、Cursor等。
Python
74.3K
4.8分

Edgeone Pages MCP Server
EdgeOne Pages MCP是一个通过MCP协议快速部署HTML内容到EdgeOne Pages并获取公开URL的服务
TypeScript
36.5K
4.8分
