iKnow MCP服务器(SerpApi谷歌学者)
MCP(多代理控制协议)服务器,用于封装 SerpApi谷歌学者API,使研究代理能够提取结构化的学者SERP数据,并完全控制每个官方参数。布局镜像 Semantic-Scholar-MCP-Server,确保一致的工具和简单的部署。
亮点
- 完整的参数覆盖范围 –公开所有记录在案的选项(
q,cites,cluster,as_ylo/as_yhi,scisbd,hl,lr,start,num,as_sdt,safe,filter,as_vis,as_rr,no_cache,async,zero_trace,output,json_restrictor等等)。 - 稳健验证 –强制执行互斥组合(例如。,
clustervs。q/cites,no_cachevs。async)并防止无效的数据类型或范围。 - 代理友好工具 –提供三个MCP工具(
google_scholar_search,google_scholar_cited_by,google_scholar_versions)涵盖探索、引文追踪和版本发现。 - 灵活的配置 –通过环境变量接受SerpApi凭据或
config.yaml.
安装
先决条件
- Python 3.12+
- 点
安装依赖项
cd /mnt/sdb2/szd/Agent/iknow-mcp-server
pip install -e .这将安装:
mcp–MCP服务器运行时requests>=2.31–HTTP客户端pyyaml>=6.0–配置解析
配置API密钥
SerpApi Google Scholar端点需要API密钥。选择以下选项之一:
- 环境变量(推荐)
export SERPAPI_API_KEY=your_private_key- 配置文件
serpapi:
api_key: your_private_key环境变量会覆盖文件设置。
运行服务器
python server.py默认情况下,MCP服务器绑定到 127.0.0.1:6667 并使用 sse 运输。
可用工具
google_scholar_search
功能齐全的SERP访问。例子:
google_scholar_search(
query="graph neural network",
as_ylo=2022,
as_yhi=2024,
hl="en",
num=10,
filter=1,
as_vis=0
)google_scholar_cited_by
具有可选过滤功能的正向引文探索:
google_scholar_cited_by(
cites="1275980731835430123",
query="applications",
as_ylo=2019
)google_scholar_versions
枚举每个Scholar版本(发布者副本、arXiv、存储库):
google_scholar_versions(
cluster="1275980731835430123",
num=5,
hl="en"
)所有工具都逐字返回SerpApi的JSON有效载荷,因此代理可以解析 organic_results、元数据、分页和辅助部分不会丢失。
错误处理
- 缺少API密钥→
RuntimeError - 无效或冲突的参数→
ValueError - 上游非2xx响应→
RuntimeError包括HTTP状态和有效载荷
开发说明
要添加新工具,请在中复制模式 server.py:创建一个 @mcp.tool,验证参数,调用 _perform_search,并返回JSON。扩展到其他SerpApi引擎只需要新的辅助函数和常量。
