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*
描述
返回文檔的最大數量
替代品

Claude Context
Claude Context是一個MCP插件,通過語義代碼搜索為AI編程助手提供整個代碼庫的深度上下文,支持多種嵌入模型和向量數據庫,實現高效代碼檢索。
TypeScript
9.5K
5分

Maverick MCP
MaverickMCP是一個基於FastMCP 2.0的個人股票分析服務器,為Claude Desktop等MCP客戶端提供專業級的金融數據分析、技術指標計算和投資組合優化工具。它預置了520只標普500股票數據,支持多種技術分析策略和並行處理,無需複雜認證即可本地運行。
Python
7.7K
4分
A
Acemcp
Acemcp是一個代碼庫索引和語義搜索的MCP服務器,支持自動增量索引、多編碼文件處理、.gitignore集成和Web管理界面,幫助開發者快速搜索和理解代碼上下文。
Python
10.9K
5分
B
Blueprint MCP
Blueprint MCP是一個基於Arcade生態的圖表生成工具,利用Nano Banana Pro等技術,通過分析代碼庫和系統架構自動生成架構圖、流程圖等可視化圖表,幫助開發者理解複雜系統。
Python
9.0K
4分
M
MCP Agent Mail
MCP Agent Mail是一個為AI編程代理設計的郵件式協調層,提供身份管理、消息收發、文件預留和搜索功能,支持多代理異步協作和衝突避免。
Python
9.5K
5分
K
Klavis
Klavis AI是一個開源項目,提供在Slack、Discord和Web平臺上簡單易用的MCP(模型上下文協議)服務,包括報告生成、YouTube工具、文檔轉換等多種功能,支持非技術用戶和開發者使用AI工作流。
TypeScript
14.4K
5分
M
MCP
微軟官方MCP服務器,為AI助手提供最新微軟技術文檔的搜索和獲取功能
12.7K
5分
A
Aderyn
Aderyn是一個開源的Solidity智能合約靜態分析工具,由Rust編寫,幫助開發者和安全研究人員發現Solidity代碼中的漏洞。它支持Foundry和Hardhat項目,可生成多種格式報告,並提供VSCode擴展。
Rust
10.2K
5分

Baidu Map
已認證
百度地圖MCP Server是國內首個兼容MCP協議的地圖服務,提供地理編碼、路線規劃等10個標準化API接口,支持Python和Typescript快速接入,賦能智能體實現地圖相關功能。
Python
32.9K
4.5分

Markdownify MCP
Markdownify是一個多功能文件轉換服務,支持將PDF、圖片、音頻等多種格式及網頁內容轉換為Markdown格式。
TypeScript
25.0K
5分

Firecrawl MCP Server
Firecrawl MCP Server是一個集成Firecrawl網頁抓取能力的模型上下文協議服務器,提供豐富的網頁抓取、搜索和內容提取功能。
TypeScript
90.2K
5分

Sequential Thinking MCP Server
一個基於MCP協議的結構化思維服務器,通過定義思考階段幫助分解複雜問題並生成總結
Python
26.4K
4.5分

Edgeone Pages MCP Server
EdgeOne Pages MCP是一個通過MCP協議快速部署HTML內容到EdgeOne Pages並獲取公開URL的服務
TypeScript
18.9K
4.8分

Context7
Context7 MCP是一個為AI編程助手提供即時、版本特定文檔和代碼示例的服務,通過Model Context Protocol直接集成到提示中,解決LLM使用過時信息的問題。
TypeScript
60.3K
4.7分

Magic MCP
Magic Component Platform (MCP) 是一個AI驅動的UI組件生成工具,通過自然語言描述幫助開發者快速創建現代化UI組件,支持多種IDE集成。
JavaScript
16.8K
5分

Notion Api MCP
已認證
一個基於Python的MCP服務器,通過Notion API提供高級待辦事項管理和內容組織功能,實現AI模型與Notion的無縫集成。
Python
14.9K
4.5分
