MCP ExplorerExplorer

Mcp Perplexity Api

@sibblon a year ago
1 MIT
FreeCommunity
AI Systems
A MCP Perplexity API server written in Typescript with stdio and SSE transport support.

Overview

What is Mcp Perplexity Api

The mcp-perplexity-api is a server that implements the Model Context Protocol (MCP) to provide an API for querying models behind the Perplexity API. It is written in Typescript and supports both standard input/output and Server-Sent Events (SSE) transport.

Use cases

Use cases for the mcp-perplexity-api include building chatbots, integrating AI-driven features into applications, and conducting experiments with different AI models for research purposes.

How to use

To use the mcp-perplexity-api, you can set it up quickly using Docker by running ‘docker compose up’ with the provided docker-compose.yml file. Ensure you have Node.js, pnpm, and Docker installed, and configure your Perplexity API key in the .env file.

Key features

Key features of the mcp-perplexity-api include support for multiple transport methods (stdio and SSE), customizable configuration options (such as API key and default model), and easy setup via Docker or Node.js.

Where to use

The mcp-perplexity-api can be used in various fields including AI research, natural language processing, and application development where interaction with AI models is required.

Content

MCP Perplexity Server

Overview

This repository contains the code for the Model Context Protocol (MCP) Perplexity Server, which is a server that provides an API to ask a question to a model behind the Perplexity API.

Quickstart via Portainer or Docker Compose

Use the following docker-compose.yml to quickly set up the server via Portainer (as a stack) or Docker Compose:

services:
  mcp-sse-server:
    image: ghcr.io/sibbl/mcp-perplexity-api:main
    ports:
      - "8080:8080"
    restart: unless-stopped
    environment:
      - MCP_TRANSPORT=sse
      - MCP_PERPLEXITY_API_KEY=ENTER_YOUR_PERPLEXITY_API_KEY
      # - MCP_SSE_AUTH_HEADER_VALUE=Bearer some_token_which_is_required # enables optional bearer authentication against the MCP server with hard coded value

Save it for Docker compose in a new directory and run docker compose up in it. http://localhost:8080/sse is your endpoint.

Prerequisites

  • Nodejs
  • pnpm
  • Docker

Important: Copy the .env.sample to .env and set your Perplexity API key.

Installation via Docker

To quickly set up the server, run:

docker compose up

Installation via Node.js

To install the required dependencies, run the following command:

pnpm install

To start the server, run:


# with stdio transport
export MCP_TRANSPORT=stdio # optional, stdio is default
pnpm start

# or

# with SSE transport
export MCP_TRANSPORT=sse
pnpm start

Configuration

All configuration options:

  • MCP_PERPLEXITY_API_KEY: Perplexity API key to use. Required.
  • MCP_TRANSPORT: Either stdio or sse. Default is stdio.
  • MCP_PERPLEXITY_DEFAULT_MODEL: The perplexity default model to use. Default is sonar-pro.
  • MCP_PERPLEXITY_MODELS: Comma separated list of models to use. Default is sonar,sonar-pro.
  • MCP_PERPLEXITY_TOOL_DESCRIPTION_SUFFIX: The suffix to use for the tool description. Empty by default.
  • MCP_SSE_ENDPOINT: The endpoint to use for SSE. Default is /sse.
  • MCP_SSE_PORT: The port to use for SSE. Default is 8080.
  • MCP_SSE_AUTH_HEADER_KEY: The auth header key to use for SSE. Default is Authorization.
  • MCP_SSE_AUTH_HEADER_VALUE: The auth header value to use for SSE. By default no value is set, which means that no authorization is required.

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers