# MCP-servers This is "a" version focued on enabling to web browsing from Claude app of model context procol projects. It's derived from [Model Context Protocol](https://github.com/ppl-ai/modelcontextprotocol) and Anthropic's original MCP project. You can see the instructions and their LICENSEs on those READMEs to use this app. ## Perplexity Ask MCP Server An MCP server implementation that integrates the Sonar API to provide Claude with unparalleled real-time, web-wide research. ![Demo](./assets/screenshot-claude.png) ![Demo](servers/src/perplexity-ask/assets/demo_screenshot.png) ## Tools - **perplexity_ask** - Engage in a conversation with the Sonar API for live web searches. - **Inputs:** - `messages` (array): An array of conversation messages. - Each message must include: - `role` (string): The role of the message (e.g., `system`, `user`, `assistant`). - `content` (string): The content of the message. ## Configuration ### Step 1: Clone this repository: ```bash git clone git@github.com:rascal-3/MCP-servers.git ``` Navigate to the `perplexity-ask` directory and install the necessary dependencies: ```bash cd servers/src/perplexity-ask && npm install ``` ### Step 2: Get a Sonar API Key 1. Sign up for a [Sonar API account](https://docs.perplexity.ai/guides/getting-started). 2. Follow the account setup instructions and generate your API key from the developer dashboard. 3. Set the API key in your environment as `PERPLEXITY_API_KEY`. ### Step 3: Configure Claude Desktop 1. Download Claude desktop [here](https://claude.ai/download). 2. Add this to your `claude_desktop_config.json`: ```json { "mcpServers": { "perplexity-ask": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "PERPLEXITY_API_KEY", "mcp/perplexity-ask" ], "env": { "PERPLEXITY_API_KEY": "YOUR_API_KEY_HERE" } } } } ``` ### NPX ```json { "mcpServers": { "perplexity-ask": { "command": "npx", "args": ["-y", "server-perplexity-ask"], "env": { "PERPLEXITY_API_KEY": "YOUR_API_KEY_HERE" } } } } ``` You can access the file using: ```bash vim ~/Library/Application\ Support/Claude/claude_desktop_config.json ``` ### Step 4: Build the Docker Image Docker build: ```bash docker build -t [your-docker-hub-account]/perplexity-ask:latest -f Dockerfile . ``` ### Step 5: Testing Docker run: ```bash docker image ls docker run -it [your-container-image-id] ``` ![Demo](assets/screenshot-docker.png.png) Let's make sure Claude for Desktop is picking up the two tools we've exposed in our `perplexity-ask` server. You can do this by looking for the hammer icon: ![Claude Visual Tools](src/perplexity-ask/assets/visual-indicator-mcp-tools.png) After clicking on the hammer icon, you should see the tools that come with the Filesystem MCP Server: ![Available Integration](src/perplexity-ask/assets/available_tools.png) If you see both of these this means that the integration is active. Congratulations! This means Claude can now ask Perplexity. You can then simply use it as you would use the Perplexity web app. ### Step 6: Advanced parameters Currently, the search parameters used are the default ones. You can modify any search parameter in the API call directly in the `index.ts` script. For this, please refer to the official [API documentation](https://docs.perplexity.ai/api-reference/chat-completions). ### Troubleshooting The Claude documentation provides an excellent [troubleshooting guide](https://modelcontextprotocol.io/docs/tools/debugging) you can refer to. However, you can still reach out to us at api@perplexity.ai for any additional support or [file a bug](https://github.com/ppl-ai/api-discussion/issues). ## License This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.