这是一个为跨多个技术领域提供智能文档检索的 Model Context Protocol (MCP) 服务器,能高效解决多领域技术文档检索难题,为开发者提供精准的文档资源。
# 克隆仓库
git clone https://github.com/yourusername/mcp-server.git
cd mcp-server
# 安装依赖项
npm install
# 构建项目
npm run build
node build/index.js
该项目包含一个测试脚本,演示主题提取和 URL 构建的工作原理:
# 编译测试脚本
npx tsc src/test.ts --outDir build
# 运行测试
node build/test.js
服务器可以与任何 MCP 兼容的客户端集成。以下是一个示例客户端代码(不在此项目中):
// 示例客户端代码
const client = new McpClient();
const result = await client.callTool("fetch-documentation", {
query: "如何在 React 中使用 useState 钩子?",
});
console.log(result);
// 输出:
// {
// domain: "react-docs",
// topics: ["useState", "state"],
// specificUrl: "https://react.dev/reference/react/useState",
// content: "...",
// source: "https://react.dev/reference/react/useState"
// }
src/index.ts - 主服务器实现。src/test.ts - 测试脚本,用于主题提取和 URL 构建。build/ - 编译后的 JavaScript 输出。package.json - 项目配置和依赖项。确定查询属于哪个技术领域。
{
query: string; // 用户查询要分类的内容
}
返回:
{
domain: string; // 已识别的领域
confidence: string; // "high" 或 "low"
}
根据给定领域从查询中提取特定主题。
{
query: string; // 用户查询要分析的内容
domain: string; // 要提取主题的技术领域
}
返回:
{
topics: string[]; // 已识别的主题数组
count: number; // 找到的主题数量
}
根据查询和领域抓取文档。
{
query: string; // 用户查询内容
domain?: string; // 领域(可选)
}
返回:
{
"docs": [
{
"url": string,
"content": string,
"relevance": number
}
],
"timestamp": string,
"status": "success" | "error"
}
要添加新的技术领域(如新增一个文档存储),请按照以下步骤操作:
extract-topics 工具以识别新领域的主题。要提高主题提取的准确性,请考虑以下方法:
[在此处插入许可证内容]
欢迎为该项目做贡献!请参考项目仓库中的 CONTRIBUTING.md 文件了解如何参与。