Token导航 LogoToken导航TokenDH.com
Solidity Documentation MCP Tool logo
搜索检索stdio官方级别未说明来源级核验

Solidity Documentation MCP Tool

MCP Server

基于模型上下文协议 (FastMCP) 的检索增强生成 (RAG) 系统,专门用于服务 Solidity 文档查询,利用本地向量数据库 (Milvus Lite) 和 Hugging Face 嵌入模型对 Markdown 文件进行索引,为 LLM 提供语义模糊搜索和文档全文获取功能。

工具数

2

提示词数

0

GitHub Stars

0

资源数

0
检索增强生成搜索Python向量数据库

安装说明

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

作者 / 组织

RileyYe

提供方

RileyYe

最后核验

2026/5/17 20:23

运行时

Python

快速接入

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

命令预览

python3 -m venv venv

详细介绍

项目描述

本项目实现了一个基于 模型上下文协议 (FastMCP) 的检索增强生成 (RAG) 系统,专门用于服务 Solidity 文档查询。

系统利用本地向量数据库 (Milvus Lite) 和 Hugging Face 嵌入模型对 Markdown 文件进行索引,为 LLM 提供语义模糊搜索和文档全文获取功能。

系统要求

  • Python 3.10 或更高版本
  • pip (Python 包管理器)
  • 足够的系统内存以加载嵌入模型 (建议剩余内存 >= 4GB)

目录结构

project/
├── main.py                 # 程序入口 & MCP 工具定义
├── manager.py              # 业务逻辑管理器 (Facade 外观模式)
├── config.py               # 全局配置类
├── utils.py                # 文件 I/O 与哈希计算工具
├── interfaces.py           # 抽象接口定义 (Strategy 策略接口)
├── strategies/             # 策略具体实现包
│   ├── __init__.py
│   ├── embedding.py        # SentenceTransformer 嵌入实现
│   └── vector_store.py     # Milvus 数据库操作实现
├── segments/               # (必须) 存放源 .md 文档的目录
└── requirements.txt        # 项目依赖列表

安装步骤

  1. 克隆或解压项目代码
  1. 创建虚拟环境 (推荐)
    python3 -m venv venv
    source venv/bin/activate  # Linux/Mac
    # venv\Scripts\activate   # Windows
  1. 安装依赖
    pip install -r requirements.txt
  1. 准备数据

请确保项目根目录下存在 segments 文件夹,并将需要索引的 Solidity Markdown (.md) 文档放入其中。

配置说明

所有可配置项均位于 config.py 文件中,你可以根据需要进行修改:

  • segments_dir: 文档源目录路径 (默认: ./segments)
  • db_file: 本地 Milvus 数据库文件路径 (默认: ./milvus_solidity_docs.db)
  • collection_name: 向量集合名称
  • embedding_model: HuggingFace 模型 ID (默认: BAAI/bge-m3)
  • embedding_dim: 向量维度 (需与模型匹配,默认: 1024)

运行与使用

在终端中运行主程序:

fastmcp run main.py:mcp --transport http --port 8000 --host 0.0.0.0

chmod +x run.sh
./run.sh
  • 首次运行: 系统会计算 segments/ 目录下文件的哈希值,下载嵌入模型,并建立向量索引。这可能需要几分钟。
  • 后续运行: 系统会自动对比文件哈希。如果源文件未发生变更,将跳过索引重建过程,直接启动服务。

提供的工具 (Tools)

服务端向 MCP 客户端暴露以下两个工具:

  1. fuzzy_search(query, limit)

* 描述: 对已索引的文档执行语义向量搜索。 * 参数: query (查询语句), limit (返回结果数量)。 * 返回: 包含文档 ID、相似度评分和文本预览的 JSON 字符串。

  1. get_doc_by_id(doc_id)

* 描述: 获取指定文档的完整内容和元数据。 * 参数: doc_id (文件名,例如 10.md)。 * 返回: 文档全文。

故障排除

  • 错误: 索引未更新

* 解决: 删除根目录下的 .lock 文件和 .db 文件,强制程序重新构建索引。

目录标签

目录标签

检索增强生成搜索Python向量数据库本地部署Solidity文档语义搜索LLM支持

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

2

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP