Monkey
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
Jump to
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:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
MonkeyCommand (node, npx, python, etc.)dockerArguments-
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.
-
Argument 1
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
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
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 toolsServices
- 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 monkeysConfiguration 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 capabilitiesLogging 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) integrationGetting 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 documentationSign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





