Token导航 LogoToken导航TokenDH.com
MCP Finder logo
开发工具stdio官方级别未说明来源级核验

MCP Finder

MCP Server

MCP Finder是一款工具路由服务,通过智能搜索和AI重排技术帮助用户快速找到适合的工具,适用于开发效率提升和工具管理。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
工具管理PythonCursor开发工具Cursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

SaiVSrini

提供方

SaiVSrini

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -r requirements.txt

详细介绍

MCP Finder:我的个人工具路由器

我创建这个项目是为了解决一个简单的问题: 我有太多的MCP工具,我不知道该用哪一个。

我创建了这个“路由器”,而不是手动搜索文档或猜测哪个服务器有合适的工具。我只是简单地问了它一个问题,它告诉我该使用哪种工具。

运作原理

当我问这样的问题时 *“扫描我的docker镜像以查找安全问题”*,以下是幕后发生的事情:

  1. 意向分析:首先,系统会查看我的查询以了解我想要什么。它检查我是否要求“本地”、“免费”的东西,或者我是否需要特定类型的工具(如“安全”或“数据库”)。
  2. 搜索:它搜索我的目录(mcpfinder.sqlite)使用两种方法:

- 关键词:将查询中的单词与工具描述相匹配。 - 含义(嵌入):匹配 *概念* 将我的查询添加到工具中(因此“图片”与“图像”匹配)。

  1. 评分:它根据每个工具的匹配程度为其打分。它甚至为最适合我当前编辑器的工具(如Cursor)提供了额外的好处。
  2. AI重新排名:最后,它将最优秀的候选人发送到一个小型AI模型(GPT-4o-mini)。人工智能像人类一样观察它们,选择最好的一个,并解释 *为什么*.

数据流

我保持简单。我的数据保存在CSV文件中,应用程序从快速的SQLite数据库中读取。

  1. 真相的来源: db.csv

- 这是我手动添加或编辑工具的地方。这只是一个电子表格。

  1. 数据库: mcpfinder.sqlite

- 该应用程序不会直接读取CSV(速度太慢)。相反,我将数据加载到这个SQLite数据库中。 - 文件 mcp_suggester/load_mcp_csv_to_sqlite.py 处理此转换。

我如何设置它

1.先决条件

我需要安装Python。然后我安装依赖项:

pip install -r requirements.txt

2.环境变量

我需要告诉应用程序我的数据库在哪里,并给它一个OpenAI密钥(用于理解含义和重新排序等“智能”部分)。

$env:MCP_CATALOG_DB = ""
$env:OPENAI_API_KEY = "sk-..."

3.运行它

我可以直接运行服务器进行测试:

python -m mcp_suggester.server

4.使用Web UI(可选)

如果你想要一个可视化界面来测试查询,你可以使用Streamlit应用程序:

streamlit run ui_app.py

这将打开一个浏览器窗口,您可以在其中:

  • 在文本框中键入您的查询
  • 使用滑块调整设置(结果数量、候选池大小)
  • 通过良好的格式、推理和可粘贴的复制示例查看结果

无需单独运行服务器——UI应用程序直接调用逻辑。

在游标中使用它

这是最好的部分。我将这个“路由器”连接到Cursor,这样我就可以在编码时使用它。

  1. 打开 光标设置 > 主控程序.
  2. 添加新的MCP服务器:

- 类型: command - 命令: python - 参数: -m mcp_suggester.server - 环境:添加我的 PYTHONPATH, MCP_CATALOG_DB,以及 OPENAI_API_KEY.

现在,在Cursor Chat中,我只需键入:

“找到一个工具将此应用程序部署到Kubernetes”

它用我需要的确切工具进行响应(例如。, Helm -> deploy_application).

项目结构

  • mcp_suggester/:核心逻辑。

- server.py:Cursor对话的入口点。 - scoring.py:对工具进行排名的数学。 - intent.py:找出我想要什么的逻辑。

  • db.csv:我的工具清单。
  • mcpfinder.sqlite:应用程序实际读取的数据库。

我如何衡量质量

我不只是猜测搜索是否有效。我有一个测试套件 evaluation/ 文件夹来证明这一点。

  • eval_dataset.csv:这是我对系统的“考试”。它包含27个真实世界的问题(如 *“找到一个部署到Kubernetes的工具”*)以及确切的工具 *应该* 成为最佳答案。
  • evaluate.py:这个脚本通过三种不同的策略来回答这些问题,看看哪一个会赢。

结果

当我运行基准测试时(python evaluation/evaluate.py),以下是我通常看到的:

  1. 仅关键字搜索:约60%的准确率。

- 当我使用与工具描述不同的单词时(例如,当工具说“图像”时,要求提供“图片”),它就会失败。

  1. 混合搜索(关键字+含义):~55%至60%的准确率。

- 更好地理解概念,但有时会被类似的工具混淆。

  1. 混合+人工智能重新排名: ~70%+精度.

- 这就是为什么LLM是必不可少的。它通过“思考”结果来缩小差距。

AI到底在做什么

你可能会想, *“为什么我需要法学硕士学位?我不能搜索吗?”*

当系统找到20个可能的工具时,它会将前3-5个发送给LLM(GPT-4o-mini),并给出非常具体的提示。LLM是 只是总结。它扮演着法官的角色。

以下是它对每个查询所做的操作:

  1. 它读取文档:它查看工具的描述、参数和功能。
  2. 它检查约束:如果我要求一个“本地”工具,它会检查该工具是否实际在本地运行。
  3. 它解释了“为什么”:它为自己的选择写了一个人类可读的理由。

- *坏*:“得分:0.9” - *良好(法学硕士)*:“这个工具是最合适的,因为它专门处理Kubernetes部署,而你要求部署工具。”

最后一步至关重要。它将原始数据库搜索变成了一个有用的助手,可以解释它的想法。

证据

这是评估脚本输出的快照。您可以看到“混合+LLM”策略是如何击败其他策略的:

Lexical-only (TF-IDF)
---------------------
Precision@1: 0.593
Precision@3: 0.667
Recall@3:    0.611
MRR:         0.668

Hybrid (Lexical + Embedding + Intent)
-------------------------------------
Precision@1: 0.519
Precision@3: 0.667
Recall@3:    0.648
MRR:         0.599

Hybrid + LLM Rerank
-------------------
Precision@1: 0.700
Precision@3: 0.741
Recall@3:    0.725
MRR:         0.704
  • Precision@11号答案正确的频率。
  • Recall@3:我在前3个结果中找到了多少个正确答案。
  • 平均倒数排名:正确答案为“有多高”的分数。越高越好。

______________________________________________________________________

演示

观看演示视频,了解MCP Finder的实际操作:

观看演示视频 (点击下载/查看)

注: GitHub markdown不支持内联视频播放。上面的链接将允许您下载和观看视频。

______________________________________________________________________

我接下来要带这个去哪里

现在,这是一个坚实的原型。但要做到这一点 “企业就绪” 适合工业生产,以下是我的计划:

1.抛弃CSV,转而使用真实数据库

目前,我手动编辑CSV文件。在真实的生产环境中,我会将其移动到 PostgreSQL 随着 pgvector.

  • 为什么?:它处理数百万个工具,支持并发用户,并原生进行矢量搜索。不再同步脚本!

2.自动摄入

我不应该手动添加工具。我想建立一个 爬虫 它监视GitHub存储库或MCP注册表。

  • 流量:

1. 爬网程序检测到新的MCP服务器版本。 1. 它刮 README.mdtool 定义。 1. LLM会自动生成描述、标签和示例查询。 1. 它会自动将新工具推送到数据库。

3.管理仪表板和分析

我需要一个用户界面来查看发生了什么。

  • 策展人模式:批准/拒绝爬虫发现的新工具。
  • 分析:查看用户正在搜索什么。如果每个人都搜索“Kubernetes”但没有结果,我知道我需要添加更多的Kubernetes工具。

4.反馈回路

系统应该从使用中学习。

  • 如果我搜索“deploy”并始终选择“Helm”而不是“Kubernetes CLI”,系统应该会学习该偏好,并在下次自动将Helm排名更高。

______________________________________________________________________

目录标签

目录标签

工具管理PythonCursor开发工具工具路由本地部署智能搜索AI重排开发效率

支持客户端

Cursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

部署方式(deploymentType,部署类型)

local-only

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiononelocal-only

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

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

来源信息

继续浏览同类 MCP