谷歌代理知识管理控制协议服务器
此存储库包含一个MCP(模型上下文协议)服务器,用于查询Google代理开发工具包(ADK)的知识库。该服务器利用从“Google Agent info.pdf”中提取的内容进行向量搜索,以回答有关Google AI代理开发工具、框架和最佳实践的问题。
该服务器实现了基于stdio的JSON-RPC通信,以便与如Roo Cline等VSCode扩展进行集成。
特点/功能
- 使用FAISS向量索引和Ollama嵌入(nomic-embed-text模型)进行语义搜索。
- 从ADK PDF中提取的176个知识块。
- MCP工具:
query(使用问题在知识库中搜索并获取前k个结果)。 - 与Roo Cline的VSCode扩展兼容。
先决条件
- Python 3.11及以上版本
- Ollama已安装并运行(用于嵌入)。
- 使用 Git 克隆此仓库。
设置说明
1. 克隆仓库
git clone https://github.com/torontoai/Google-Agent-Knowledge-MCP.git
cd Google-Agent-Knowledge-MCP2. 安装依赖项
pip install ollama fastapi uvicorn pydantic numpy faiss-cpu langchain sentence-transformers3. 安装Ollama
启动Ollama服务:
ollama serve拉取嵌入模型:
ollama pull nomic-embed-text4. 重新生成嵌入(可选,如需)
如果您想从PDF中更新知识库:
python chunk_text.py # Generates chunked_google_agent_info.json
python generate_embeddings.py # Generates embeddings_google_agent_info.json5. 为VSCode配置Roo Cline
在你的(内容/列表/等)中添加以下内容: mcp_settings.json (通常在 ~/.vscode/extensions/rooveterinaryinc.roo-cline/settings/mcp_settings.json 或类似(的):
{
"name": "Google Agent Knowledge MCP",
"command": "python",
"args": ["path/to/Google-Agent-Knowledge-MCP/google_agent_mcp_stdio_server.py"],
"env": {},
"alwaysAllow": ["query"],
"description": "Vector search over Google Agent Development Kit (ADK) methodology from PDF"
}将“path/to”替换为克隆仓库的绝对路径。
6. 启动MCP服务器
当VSCode扩展连接时,服务器会自动启动。对于手动测试(stdio模式):
# Test initialization
echo '{"jsonrpc":"2.0","method":"initialize","id":1}' | python google_agent_mcp_stdio_server.py
# Test tool list
echo '{"jsonrpc":"2.0","method":"tools/list","id":2}' | python google_agent_mcp_stdio_server.py
# Test query
echo '{"jsonrpc":"2.0","method":"tools/call","id":3,"params":{"name":"query","arguments":{"question":"What is Google Agent Development Kit?","top_k":3}}}' | python google_agent_mcp_stdio_server.py7. 在VSCode中的使用
- 重新加载 VSCode 窗口(按 Ctrl+Shift+P > 输入“Developer: Reload Window”)。
- 在Roo Cline中,应连接“Google代理知识MCP”。
- 使用
query使用带有“解释ADK架构”等问题的工具,从PDF中获取向量搜索结果。
文件
google_agent_mcp_stdio_server.py主要的MCP服务器,带有JSON-RPC处理程序的标准控制台。google_agent_mcp.py使用FAISS和Ollama进行向量搜索的知识库类。embeddings_google_agent_info.json预先计算了176个嵌入(维度为768)。chunked_google_agent_info.json从PDF中提取的文本块。generate_embeddings.py用于从PDF重新生成嵌入的脚本。chunk_text.py将PDF文本分块的脚本。Google Agent info.pdf知识库的源PDF文件。
故障排除
- 连接已关闭确保 Ollama 正在运行且 embeddings.json 文件有效(如需,请重新生成)。
- JSON 错误检查嵌入文件是否存在畸形;重新运行生成脚本。
- 无结果验证模型“nomic-embed-text”是否已在Ollama中拉取。
- 代币问题为了与GitHub集成,请使用具有“repo”范围的PAT(个人访问令牌)。
许可证
MIT 许可证 - 请参阅 LICENSE 文件(初始化时自动生成)。
如需提交贡献或报告问题,请在GitHub上提交拉取请求或问题报告。
