JUHE API Marketplace
S-Alzaid avatar
MCP Server

MCP Server for ElevenLabs

A Model Context Protocol server for ElevenLabs conversational agents that enables them to search the web, get weather information, and perform calculations.

0
GitHub Stars
8/23/2025
Last Updated
MCP Server Configuration
1{
2 "name": "my-mcp-server",
3 "command": "node",
4 "args": [
5 "path/to/your/mcp-server/dist/index.js"
6 ],
7 "env": {}
8}
JSON8 lines

README Documentation

MCP Server for ElevenLabs

A Model Context Protocol (MCP) server specifically designed for ElevenLabs conversational agents, providing tools for agents to interact with external services and perform various tasks.

📋 Project Documentation: This project has specific deployment requirements and structure decisions. See PROJECT-STRUCTURE.md before making any changes.

Features

This MCP server provides the following tools:

  • search_web: Search the web for information
  • get_weather: Get current weather information for a location
  • calculate: Perform mathematical calculations
  • create_sickleave: Create a sick leave document for a patient

Installation

  1. Install dependencies:
npm install
  1. Start the server:
npm start

ElevenLabs Integration

This server is specifically designed for ElevenLabs conversational agents. For detailed setup instructions, see ELEVENLABS-INTEGRATION.md.

⚠️ IMPORTANT: Before making any changes to this project, read PROJECT-STRUCTURE.md for critical deployment requirements and lessons learned.

Quick Start for ElevenLabs:

npm start

Then add http://localhost:3000/mcp to your ElevenLabs agent's MCP server configuration.

Usage

Development Mode

Run the server:

npm start

Production Mode

Run the server:

npm start

Configuration

The server can be configured by modifying the following:

  • Server name and version: Edit elevenlabs-true-streamable.js
  • Tool implementations: Edit elevenlabs-true-streamable.js
  • Tool schemas: Modify the schemas in elevenlabs-true-streamable.js

Note: This project uses a single-file approach for deployment reliability. All tools and schemas are hardcoded in the main server file.

Adding New Tools

To add a new tool:

  1. Define the tool schema in elevenlabs-true-streamable.js:
{
  name: "new_tool",
  description: "Description of the new tool",
  inputSchema: {
    type: "object",
    properties: {
      parameter: { type: "string", description: "Description of the parameter" }
    },
    required: ["parameter"]
  }
}
  1. Implement the tool handler in elevenlabs-true-streamable.js:
async function handleNewTool(args) {
  // Your tool implementation here
  return {
    content: [
      {
        type: "text",
        text: "Tool result",
      },
    ],
  };
}
  1. Add the tool to the tools array and the handler to the switch statement in elevenlabs-true-streamable.js

Note: This project uses a single-file approach. All modifications should be made directly in elevenlabs-true-streamable.js.

case "new_tool":
  return await handleNewTool(args);

MCP Client Configuration

To use this server with an MCP client, add the following configuration:

{
  "mcpServers": {
    "my-mcp-server": {
      "command": "node",
      "args": ["path/to/your/mcp-server/dist/index.js"],
      "env": {}
    }
  }
}

Development

Project Structure

src/
├── index.ts      # Main server entry point
├── tools.ts      # Tool definitions and implementations
└── types.ts      # Type definitions (if needed)

Scripts

  • npm run build: Build the TypeScript code
  • npm run dev: Run in development mode with hot reloading
  • npm start: Run the built server
  • npm test: Run tests (when implemented)

Dependencies

  • @modelcontextprotocol/sdk: MCP SDK for server implementation
  • zod: Schema validation and type safety
  • typescript: TypeScript compiler
  • tsx: TypeScript execution for development

License

MIT

Quick Install

Quick Actions

Key Features

Model Context Protocol
Secure Communication
Real-time Updates
Open Source