Official MCP Server to interact with Pearl API. Connect your AI Agents with 12,000+ certified experts instantly.
A Model Context Protocol (MCP) server implementation that exposes Pearl's AI and Expert services through a standardized interface. This server allows MCP clients like Claude Desktop, Cursor, and other MCP-compatible applications to interact with Pearl's advanced AI assistants and human experts.
git clone https://github.com/Pearl-com/pearl_mcp_server.git
cd pearl_mcp_server
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
pip install -e .
.env
file in the src directory:PEARL_API_KEY=your-api-key-here
Start the server using either stdio (default) or SSE transport:
# Using stdio transport (default)
pearl-mcp-server --api-key your-api-key
# Using SSE transport on custom port
pearl-mcp-server --api-key your-api-key --transport sse --port 8000
Pearl provides a hosted MCP server at:
https://mcp.pearl.com/mcp
This can be used directly with any MCP client without installing the Python application locally.
The server provides the following tools:
ask_pearl_ai
question
: The user's querychat_history
(optional): Previous conversation contextsession_id
(optional): For continuing conversationsask_pearl_expert
ask_expert
get_conversation_status
session_id
get_conversation_history
session_id
Pearl's MCP server provides access to a wide range of expert categories. The appropriate expert category is automatically determined by Pearl's API based on the context of your query, ensuring you're connected with the most relevant expert for your needs.
Here are the main categories of expertise available:
Medical & Healthcare
Legal & Financial
Technical & Professional
Education & Career
Lifestyle & Personal
Each expert category can be accessed through the ask_expert
or ask_pearl_expert
tools. You don't need to specify the category - simply describe your question or problem, and Pearl's AI will automatically route your request to the most appropriate expert type based on the context.
For connecting to a local MCP server using stdio transport, add the following configuration to your MCP client:
{
"pearl-mcp-server": {
"type": "stdio",
"command": "pearl-mcp-server",
"args": ["--api-key", "your-api-key"],
"env": {
"PEARL_API_KEY": "Your Pearl Api Key"
}
}
}
Some MCP clients don't support direct connection to remote MCP servers. For these clients, you can use the mcp-remote
package as a bridge:
Prerequisites:
Configuration for remote server:
{
"mcpServers": {
"pearl-remote": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp.pearl.com/sse"
]
}
}
}
Configuration file locations:
%APPDATA%\Claude\claude_desktop_config.json
~/Library/Application Support/Claude/claude_desktop_config.json
~/.cursor/mcp.json
~/.codeium/windsurf/mcp_config.json
Additional Options:
@latest
to npx command"args": ["mcp-remote@latest", "https://mcp.pearl.com/sse"]
Troubleshooting:
rm -rf ~/.mcp-auth
Get-Content "$env:APPDATA\Claude\Logs\mcp.log" -Wait -Tail 20
tail -n 20 -F ~/Library/Logs/Claude/mcp*.log
npx mcp-remote-client https://mcp.pearl.com/sse
import asyncio
from mcp.client.session import ClientSession
from mcp.client.stdio import StdioServerParameters, stdio_client
async def main():
# For stdio transport
async with stdio_client(
StdioServerParameters(command="pearl-mcp-server", args=["--api-key", "your-api-key"])
) as (read, write):
async with ClientSession(read, write) as session:
await session.initialize()
# List available tools
tools = await session.list_tools()
print(tools)
# Call Pearl AI
result = await session.call_tool(
"ask_pearl_ai",
{
"question": "What is MCP?",
"session_id": "optional-session-id"
}
)
print(result)
asyncio.run(main())
To obtain a Pearl API key for using this server:
Keep your API key secure and never commit it to version control.
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.