Monkey

by jamesmontemagno

59 stars
Not rated
GitHub

About

Provides access to monkey data through a .NET 9.0 API with caching and dependency injection, featuring tools for retrieving complete lists or finding specific monkeys by name.

Details

Author
jamesmontemagno
Repository
jamesmontemagno/MonkeyMCP
GitHub stars
59
License
MIT License
Categories
Developer Tools, Design, Workplace, File Management, AI, Search, Frontend, Infrastructure, Knowledge Base, API

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Monkey
    Command (node, npx, python, etc.) docker
    Arguments
    • Argument 1 run
    • Argument 2 -i
    • Argument 3 --rm
    • Argument 4 jamesmontemagno/monkeymcp

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install Remote Server in VS Code Install Remote Server in VS Code Insiders

Install Docker Container in VS Code Install Docker Container in VS Code Insiders

Install Remote Server in Visual Studio Install Docker Container in Visual Studio

Configure in VS Code with GitHub Copilot, Claude Desktop, or other MCP clients:

The server uses Microsoft.Extensions.Hosting (version 9.0.3) which provides:
- Configuration from multiple sources (JSON, environment variables, command line)
- Dependency injection for services
- Logging capabilities

1. Clone this repository
2. Navigate to the project directory
3. Build the project: dotnet build
4. Configure with VS Code or other client:

"monkeyserver": {
    "type": "stdio",
    "command": "dotnet",
    "args": [
        "run",
        "--project",
        "/Users/jamesmontemagno/GitHub/TestMCP/MonkeyMCP/MonkeyMCP.csproj"
    ]
}

> Update the path to the project

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.

The server exposes several tools that can be invoked by clients:

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "monkey": {
            "env": {},
            "args": [
                "run",
                "-i",
                "--rm",
                "jamesmontemagno/monkeymcp"
            ],
            "shell": false,
            "command": "docker"
        }
    }
}

Linux

{
    "env": [],
    "args": [
        "run",
        "-i",
        "--rm",
        "jamesmontemagno/monkeymcp"
    ],
    "shell": false,
    "command": "docker"
}

Macos

{
    "env": [],
    "args": [
        "run",
        "-i",
        "--rm",
        "jamesmontemagno/monkeymcp"
    ],
    "shell": false,
    "command": "docker"
}

Windows

{
    "env": [],
    "args": [
        "run",
        "-i",
        "--rm",
        "jamesmontemagno/monkeymcp"
    ],
    "shell": false,
    "command": "docker"
}

Monkey - Model Context Protocol (MCP) Server

Overview

This is a Model Context Protocol (MCP) server implementation built with .NET 9.0. The MCP server provides a communication protocol for facilitating interactions between various components in a model-driven system. This implementation demonstrates how to set up a basic MCP server with custom tools and services.

Try it

Quick Install for VS Code & VS

Install Remote Server in VS Code Install Remote Server in VS Code Insiders

Install Docker Container in VS Code Install Docker Container in VS Code Insiders

Install Remote Server in Visual Studio Install Docker Container in Visual Studio

Configure in VS Code with GitHub Copilot, Claude Desktop, or other MCP clients:

Option 1: Remote Azure Functions Server (Recommended)

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

Option 2: Docker Container

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

Features

Core Components

- MCP Server: Built using the ModelContextProtocol library (version 0.1.0-preview.2) - Standard I/O Transport: Uses stdio for communication with clients - Custom Tool Integration: Includes examples of how to create and register MCP tools

Services

- MonkeyService: A sample service that fetches monkey data from an API endpoint - Provides methods to retrieve a list of all monkeys or find a specific monkey by name - Caches results for better performance

- MonkeyLocationService: A service that generates unique journeys and activities for monkeys
- Creates randomized path points based on monkey species behavior
- Generates species-specific activities (grooming, howling, hot spring bathing, etc.)
- Provides health statistics and movement patterns
- Each journey includes fun activities like eating bananas, cleaning other monkeys, and exploration

Available Tools

The server exposes several tools that can be invoked by clients:

Monkey 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

Configuration Options

Hosting Configuration

The server uses Microsoft.Extensions.Hosting (version 9.0.3) which provides: - Configuration from multiple sources (JSON, environment variables, command line) - Dependency injection for services - Logging capabilities

Logging Options

Several logging providers are available: - Console: Logs to standard output - Debug: Logs for debugging purposes - EventLog: Logs to the system event log (when running on Windows) - EventSource: Provides ETW (Event Tracing for Windows) integration

Getting Started

Prerequisites

- .NET 9.0 SDK or later - Basic understanding of the Model Context Protocol (MCP)

Running the Server

1. Clone this repository 2. Navigate to the project directory 3. Build the project: dotnet build 4. Configure with VS Code or other client:
"monkeyserver": {
    "type": "stdio",
    "command": "dotnet",
    "args": [
        "run",
        "--project",
        "/Users/jamesmontemagno/GitHub/TestMCP/MonkeyMCP/MonkeyMCP.csproj"
    ]
}

> Update the path to the project

Extending the Server

To add custom tools: 1. Create a class and mark it with the [McpServerToolType] attribute 2. Add methods with the [McpServerTool] attribute 3. Optionally add [Description] attributes to provide documentation
No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.