研究MCP是一个通过Perplexity AI实现互联网研究服务的模型完成协议(MCP),它能让用户借助该协议获取各种主题的深入且最新信息,为研究工作提供有力支持。
研究MCP是一个提供互联网研究功能的服务,它通过MCP协议公开了一个“research”工具。该工具允许通过查询Perplexity AI的API获取深入且最新的各种主题信息。
使用前请确保满足以下要求:
具体操作步骤如下:
.env
文件)go build
./ResearchMCP
.env
文件PERPLEXITY_API_KEY=your_api_key_here
PERPLEXITY_MODEL=sonar-medium-online
PERPLEXITY_TIMEOUT=120
PERPLEXITY_MAX_RETRIES=3
PERPLEXITY_INITIAL_BACKOFF=2
PERPLEXITY_MAX_BACKOFF=15
服务通过环境变量进行配置,具体如下:
变量名 | 描述 | 是否必填 | 默认值 |
---|---|---|---|
PERPLEXITY_API_KEY | Perplexity AI的API密钥 | 是 | - |
PERPLEXITY_MODEL | 用于研究的模型 | 否 | sonar-medium-online |
PERPLEXITY_TIMEOUT | API请求超时时间(秒) | 否 | 90 |
PERPLEXITY_MAX_RETRIES | 最大重试次数 | 否 | 2 |
PERPLEXITY_INITIAL_BACKOFF | 初始回退时间(秒) | 否 | 1 |
PERPLEXITY_MAX_BACKOFF | 最大回退时间(秒) | 否 | 10 |
以下是调用research
工具的示例请求:
{
"name": "research",
"arguments": {
"query": "量子计算的当前状态是什么?"
}
}
示例响应如下:
{
"content": [
{
"type": "text",
"text": "关于量子计算的综合研究报告...\n\n来源:
- https://example.com/source1
- https://example.com/source2"
}
]
}
名称: research
输入 schema:
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "研究查询或问题"
}
},
"required": ["query"]
}
main.go
: 应用入口点config.go
: 配置处理logger.go
: 日志基础设施perplexity.go
: Perplexity API集成structs.go
: 数据结构context.go
: 上下文处理使用提供的脚本运行格式化和检查:
./run_format.sh
./run_lint.sh
该项目采用MIT许可证,详情请参阅LICENSE
文件。