Token导航 LogoToken导航

MCP Server · 搜索检索

MCP Python Poc

一个基于MCP协议的多客户端RAG知识服务系统,提供知识存储、检索和代理式交互功能。

stdio官方级别未说明来源级核验工具 10
PythonClaude搜索

快速开始

作者 / 组织
maksymkhodakov
提供方
maksymkhodakov
运行时
Python

工具数量

10

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

MCP Python Poc 属于搜索检索类 MCP Server,公开资料标注 10 个工具,通过stdio 本地进程接入,适配 Claude,有可以直接复制的安装命令;接入前先确认权限范围。

分类

搜索检索

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

python -m venv .venv && source .venv/bin/activate

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 10 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

MCP RAG POC代理

概念验证模型上下文协议设置,在单个持久RAG知识服务器上具有三个可互换的客户端层。

组件

文件角色端口
server.pyMCP知识服务器(摄取、块、BM25检索)8000
client.pyAgent CLI——有界检索循环,引用答案--
langgraph_agent.pyLangGraph ReAct代理——通过MCP工具实现LLM驱动的RAG--
ui_server.py浏览器工具资源管理器--MCP服务器的代理8080

______________________________________________________________________

系统架构

graph LR
    subgraph Clients
        CLI["client.py\n(RAG CLI)"]
        LG["langgraph_agent.py\n(LangGraph agent)"]
        UI["ui_server.py :8080\n(Browser UI)"]
    end

    subgraph MCP["server.py — MCP Server :8000"]
        KS["KnowledgeStore"]
        IDX["BM25 + trigram\nindex (in-memory)"]
        FS[(".mcp_store/\nknowledge_store.json")]
        KS --- IDX
        KS -. persists .-> FS
    end

    CLI  -->|"MCP HTTP"| MCP
    UI   -->|"HTTP proxy\n(/api/tool)"| MCP
    LG   -->|"langchain-mcp-adapters\nget_tools() + call_tool()"| MCP

______________________________________________________________________

LangGraph代理流

这 langgraph_agent.py 代理使用 create_react_agent 从LangGraph获取工具,并直接从正在运行的MCP服务器获取所有工具,因此代理本身没有工具逻辑。

flowchart TD
    IN(["👤 Human message"]) --> LLM

    subgraph Graph["LangGraph — create_react_agent"]
        direction TB
        LLM["Claude\n(LLM node)"]
        TN["ToolNode\n(MCP tools)"]
        LLM -->|"tool_calls[ ]"| TN
        TN  -->|"ToolMessage"| LLM
    end

    LLM -->|"no tool_calls"| OUT(["💬 AIMessage\n(cited answer)"])

    subgraph Adapter["langchain-mcp-adapters"]
        A["MultiServerMCPClient\n→ LangChain tool wrappers"]
    end

    subgraph Tools["MCP tools (from server.py)"]
        direction LR
        T1["ingest_*"]
        T2["search_knowledge"]
        T3["build_answer_context"]
        T4["list / get *"]
    end

    Adapter -->|"wraps"| Graph
    TN      -->|"HTTP call"| Tools
    Tools   -->|"JSON result"| TN

代理推理循环(每轮):

  1. LLM接收对话历史+系统提示,强制执行有根据的答案。
  2. 如果需要证据,它会发出 tool_calls --ToolNode通过HTTP对MCP服务器执行它们。
  3. 工具结果以如下形式注入 ToolMessages、 LLM继续推理。
  4. 当有信心时,LLM会发出最终的 AIMessage 带有引用的块ID。

______________________________________________________________________

检索评分

search_knowledge 用综合分数对块进行排名:

score = BM25(query, chunk)
      + term_coverage_ratio × 1.5
      + trigram_jaccard     × 2.0
      + exact_phrase_bonus  × 1.75

build_answer_context 然后将前k个块组装成一个有界的证据包(默认6000个字符) [C1]… 引文标签已准备好供法学硕士参考。

______________________________________________________________________

设置

python -m venv .venv && source .venv/bin/activate
pip install fastmcp fastapi uvicorn

# LangGraph agent only:
pip install langgraph langchain-anthropic "langchain-mcp-adapters>=0.1.0"
export ANTHROPIC_API_KEY=

运行MCP服务器

python server.py
# → http://127.0.0.1:8000/mcp

运行确定性客户端

python client.py ingest-dir knowledge          # seed the knowledge base
python client.py ask "What is agentic RAG?"
python client.py search "chunk level evidence"
python client.py chat                          # interactive loop

运行LangGraph代理

python server.py &                             # must be running first
python langgraph_agent.py                      # interactive chat
python langgraph_agent.py ask "your question"
python langgraph_agent.py ingest knowledge/    # ingest a directory

运行浏览器UI

python ui_server.py
# → http://127.0.0.1:8080

UI将所有MCP工具公开为具有实时模式检查和调用历史的交互式表单。

______________________________________________________________________

MCP工具

概述/统计数据

  • server_overview --功能和当前商店统计数据
  • knowledge_base_stats --块计数、平均令牌长度、文件路径

摄入

  • ingest_text_document --摄取带有可选元数据的原始文本
  • ingest_file_document --从repo读取文件或 /tmp 并摄入它
  • ingest_directory_documents --批量摄取目录(默认值: .md .txt .rst .py .json .yaml .yml)

知识检查

  • list_knowledge_documents --所有按新旧程度排序的索引文档
  • get_knowledge_document --文档记录+其所有块
  • get_knowledge_chunk --包含父文档信息的单个块

检索

  • search_knowledge --BM25检索,包括每次点击的评分原因
  • build_answer_context --有界证据包 [C1]… 引文标签

______________________________________________________________________

储存和安全

  • 所有索引内容都保留在 .mcp_store/knowledge_store.json.
  • 文件摄取的范围仅限于repo根目录 /tmp (SAFE_ROOTS).
  • LangGraph代理的系统提示强制执行:在回答之前检索、引用块ID、标记低置信度证据。

______________________________________________________________________

建议的后续步骤

  • 在相同的工具契约后面添加嵌入支持的检索。
  • 添加文档删除和选择性重新索引。
  • 将真正的LLM合成层插入确定性 client.py 更丰富的答案。

工具与能力

工具数量

10

资源数量

0

提示词数量

0

能力标签

知识检索Python本地部署RAG系统代理交互BM25索引LangGraph集成

支持客户端

Claude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

查资料带出处

把网页、论文和文档的检索结果连同链接一起带回对话。

站内知识检索

在自己的文档库里做语义搜索,比关键词更贴题。

事实核对

交叉多个来源确认一条信息,减少模型凭记忆作答。

选择建议

值得选的地方

  • 工具数量 10 个,一次接入能覆盖的操作比单点工具更全。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在搜索检索场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
MCP Python Poc

MCP World · 本页

10stdio有1 个2026-05-17
Baidu Netdisk

MCP World

未标注未说明未标注1 个2026-05-17
Sequentialthinking

MCP.so

1SSE有2 个2026-05-17
Brave Search 433812ff

MCP World

2未说明未标注1 个2026-05-17
mindsdb (430e18)

MCP World

0未说明有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

MCP Python Poc 怎么安装?

公开资料给出的安装命令是 python -m venv .venv && source .venv/bin/activate,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

MCP Python Poc 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

MCP Python Poc 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

MCP Python Poc 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

MCP Python Poc 支持哪些客户端?

公开资料标注支持 Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP