互联网研究协议服务

ResearchMCP 是一个通过MCP协议提供互联网研究能力的服务,利用Perplexity AI的API查询广泛主题的最新深度信息。

  • by chew-z
  • Go
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 chew-z/researchmcp

使用说明

MCP研究

使用困惑人工智能的互联网研究模型完成协议(MCP)服务。

概述

ResearchMCP是一种通过MCP协议提供互联网研究功能的服务。它公开了一个“研究”工具,可以查询困惑人工智能的API,以获取广泛主题的深入、最新信息。

特性

  • 通过困惑人工智能进行互联网研究
  • 与MCP协议集成,用于工具发现和调用
  • 降级模式下的优雅错误处理
  • 可通过环境变量进行配置
  • 结构化日志记录

需求

  • 转到1.18或更高版本
  • 困惑AI API键

配置

该服务是通过环境变量配置的:

|变量|描述|必填|默认| |----------|-------------|----------|---------|
|PERPLEXITY_API_KEY |困惑AI的API密钥|是|-| |PERPLEXITY_MODEL |用于研究的型号|否|声纳介质在线| |PERPLEXITY_TIMEOUT| API请求的超时时间(以秒为单位)|否|90| |PERPLEXITY_MAX_RETRIES |最大重试次数|否|2| |PERPLEXITY_INTIAL_BACKOFF|初始回退时间(秒)|否|1| |PERPLEXITY_MAX_BACKOFF|最大退避时间(秒)|否|10|

用法

  1. 设置所需的环境变量(您可以使用 .env 文件)
  2. 构建并运行服务:
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

API

研究工具

名字: research

输入架构:

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "The research query or question"
    }
  },
  "required": ["query"]
}

示例请求:

{
  "name": "research",
  "arguments": {
    "query": "What is the current state of quantum computing?"
  }
}

示例响应:

{
  "content": [
    {
      "type": "text",
      "text": "Comprehensive research report on quantum computing...\n\nSources:\n- https://example.com/source1\n- https://example.com/source2"
    }
  ]
}

发展

项目结构

  • main.go:应用程序入口点
  • config.go:配置处理
  • logger.go:日志记录基础设施
  • perplexity.go:困惑API集成
  • structs.go:数据结构
  • context.go:上下文处理

代码的风格

使用提供的脚本运行格式化和linting:

./run_format.sh
./run_lint.sh

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。