
Monkeymcp
io.github.jamesmontemagnoPublished by GitHub account jamesmontemagnov2.0.3Updated Oct 24, 2026
MCP server providing monkey data, journeys, and location services for various monkey species.
Overview
An MCP server for monkey data and simulated journeys, letting an assistant list monkeys, look up one by name, and generate journeys and activities.
- What you can do
- List all available monkeys or look up a specific monkey by name. Generate a simulated journey for one monkey, with path points, activities and health stats. Generate journeys for every monkey at once.
- When to use it
- Useful for demos, teaching or testing MCP tool calls where sample monkey data and simulated journeys are enough. Not intended for real animal tracking or production data.
- Requirements
- Runs as a local stdio process via Docker or the .NET 9.0 SDK; the README also offers a remote Azure Functions endpoint as an alternative. No authentication, environment variables or headers are declared.
Installation
In SourceWeft
- Open Monkeymcp in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
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)
Option 2: Docker Container
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
- Clone this repository
- Navigate to the project directory
- Build the project:
dotnet build - Configure with VS Code or other client:
Update the path to the project
Extending the Server
To add custom tools:
- Create a class and mark it with the
[McpServerToolType]attribute - Add methods with the
[McpServerTool]attribute - Optionally add
[Description]attributes to provide documentation
Example:
Server-Sent Events Implementation (MonkeyMCPSSE)
Overview
The MonkeyMCPSSE project provides an alternative implementation of the Monkey MCP server using Server-Sent Events (SSE) over HTTP instead of stdio transport. This implementation runs as a web server, making it ideal for web-based clients and scenarios requiring HTTP-based communication.
Read more about SSE best practices for security here
Features
- HTTP-based Transport: Runs on
http://localhost:3001by default - Server-Sent Events: Enables real-time, one-way communication from server to client
- ASP.NET Core Integration: Built using ASP.NET Core's web server capabilities
- MCP over HTTP: Implements the Model Context Protocol over HTTP transport
Running the SSE Server
- Navigate to the MonkeyMCPSSE directory
- Build and run the project:
- Connect and run in VS Code or using MCP Inspector
npx @modelcontextprotocol/inspector
Implementation Details
The SSE implementation uses ASP.NET Core's built-in web server capabilities while maintaining the same monkey data service and tools as the stdio version. This makes it easy to switch between transport methods while keeping the core functionality intact.
Project Structure
- /MonkeyMCP: Main project directory
- MonkeyService.cs: Implementation of the service to fetch monkey data
- MonkeyTools.cs: MCP tools for accessing monkey data
- Program.cs: Entry point that configures and starts the MCP server
Dependencies
- Microsoft.Extensions.Hosting (9.0.3): Provides hosting infrastructure
- ModelContextProtocol (0.1.0-preview.2): MCP server implementation
- System.Text.Json (9.0.3): JSON serialization/deserialization
License
This project is available under the MIT License.
MonkeyLocationService Features
The MonkeyLocationService provides rich simulation capabilities:
Monkey Type Configurations
- Baboons: Savanna dwellers with social grooming behaviors and root foraging
- Howler Monkeys: Forest inhabitants known for territorial howling and leaf eating
- Japanese Macaques: Mountain monkeys that enjoy hot springs and snow play
- Proboscis Monkeys: Mangrove specialists that swim and show off their distinctive noses
- Golden Snub-Nosed Monkeys: High-altitude acrobats that huddle for warmth
Journey Components
- Path Points: GPS coordinates showing where the monkey traveled
- Activities: Species-specific behaviors with energy costs/benefits
- Health Stats: Energy, happiness, hunger, social, stress, and health metrics
- Time Tracking: Start/end times and activity durations
- Distance Calculation: Total journey distance using Haversine formula
Unique Activities Include
- Banana finding and eating
- Mutual grooming sessions
- Territory marking
- Hot spring bathing (macaques)
- Swimming (proboscis monkeys)
- Acrobatic displays
- Social interactions
- Foraging and exploration
Source: README.md at commit c8aedc4
Tools
0Version history
1- v2.0.3LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts