home / mcp / monkey mcp server

Monkey MCP Server

Exposes monkey data services and journeys via MCP tools over HTTP or stdio for client integration.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "jamesmontemagno-monkeymcp": {
      "url": "https://func-monkeymcp-3t4eixuap5dfm.azurewebsites.net/"
    }
  }
}

You set up an MCP Server that exposes tools and services to clients using a simple HTTP endpoint or a local stdio transport. This lets you fetch monkey data, generate journeys, and run predefined actions from your MCP clients with consistent, extensible tooling across your model-driven system.

How to use

Connect an MCP client to the server using either a remote HTTP endpoint or a local stdio transport. With the HTTP option, point your client at the provided URL to access the monkey data service and its tools. With stdio, run the server locally and communicate through standard I/O with your client.

How to install

Prerequisites: install and configure a compatible MCP client in your environment. You will use either a remote HTTP server URL or a local stdio command to run the server.

Option 1: Remote Azure Functions Server (HTTP) is the recommended method.

Option 2: Run the server in a Docker container for local testing.

{
  "servers": {
    "monkeymcp": {
      "url": "https://func-monkeymcp-3t4eixuap5dfm.azurewebsites.net/",
      "type": "http"
    }
  },
  "inputs": []
}
```

```
{
  "inputs": [],
  "servers": {
    "monkeymcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "jamesmontemagno/monkeymcp"
      ],
      "env": {}
    }
  }
}

Configuration Options

The server can be accessed via a remote HTTP endpoint or run locally via Docker. The HTTP configuration uses a URL for the remote MCP server, while the stdio configuration runs a local container that communicates through stdio.

{
  "servers": {
    "monkeymcp": {
      "url": "https://func-monkeymcp-3t4eixuap5dfm.azurewebsites.net/",
      "type": "http"
    }
  },
  "inputs": []
}
```

```
{
  "inputs": [],
  "servers": {
    "monkeymcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "jamesmontemagno/monkeymcp"
      ],
      "env": {}
    }
  }
}

Tools and endpoints

The server provides a set of tools to access and manipulate monkey data, including retrieving all monkeys, querying a specific monkey by name, generating unique monkey journeys, and producing journeys for all monkeys.

Extending the server

To add custom tools, create a class and mark it with the appropriate MCP attributes, then define methods with tool attributes and optional descriptions. This enables you to expose new functionalities to MCP clients.

Server-Sent Events Implementation (MonkeyMCPSSE)

For web-based clients, you can use a Server-Sent Events (SSE) version that runs as a web server and serves MCP data over HTTP. It uses a single transport channel to push updates to clients in real time.

Project structure and dependencies

Key components include the monkey data service, the MCP tools for accessing that data, and the program that wires everything together. The project depends on hosting infrastructure, the MCP framework, and JSON serialization utilities.

Security and hosting notes

Configure hosting and logging to fit your environment. The server supports multiple logging providers and host configurations to suit development or production deployments.

Available tools

GetMonkeys

Returns a JSON serialized list of all available monkeys.

GetMonkey

Retrieves information about a specific monkey by name.

GetMonkeyJourney

Creates a unique journey path with activities and health stats for a specific monkey.

GetAllMonkeyJourneys

Generates journey paths for all available monkeys.