Perplexity Research
STDIOInternet research service using Perplexity AI through MCP protocol
Internet research service using Perplexity AI through MCP protocol
A Model Completion Protocol (MCP) service for internet research using Perplexity AI.
ResearchMCP is a service that provides internet research capabilities through the MCP protocol. It exposes a "research" tool that allows querying Perplexity AI's API for in-depth, up-to-date information on a wide range of topics.
The service is configured through environment variables:
| Variable | Description | Required | Default | 
|---|---|---|---|
| PERPLEXITY_API_KEY | API key for Perplexity AI | Yes | - | 
| PERPLEXITY_MODEL | Model to use for research | No | sonar-medium-online | 
| PERPLEXITY_TIMEOUT | Timeout in seconds for API requests | No | 90 | 
| PERPLEXITY_MAX_RETRIES | Maximum number of retry attempts | No | 2 | 
| PERPLEXITY_INITIAL_BACKOFF | Initial backoff time in seconds | No | 1 | 
| PERPLEXITY_MAX_BACKOFF | Maximum backoff time in seconds | No | 10 | 
.env file)go build ./ResearchMCP
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
Name: research
Input Schema:
{ "type": "object", "properties": { "query": { "type": "string", "description": "The research query or question" } }, "required": ["query"] }
Example Request:
{ "name": "research", "arguments": { "query": "What is the current state of quantum computing?" } }
Example Response:
{ "content": [ { "type": "text", "text": "Comprehensive research report on quantum computing...\n\nSources:\n- https://example.com/source1\n- https://example.com/source2" } ] }
main.go: Application entry pointconfig.go: Configuration handlinglogger.go: Logging infrastructureperplexity.go: Perplexity API integrationstructs.go: Data structurescontext.go: Context handlingRun formatting and linting with the provided scripts:
./run_format.sh ./run_lint.sh
This project is licensed under the MIT License - see the LICENSE file for details.