chimp
Verified Safeby softwaremill
Overview
A Scala 3 library for building Model Context Protocol (MCP) servers, exposing type-safe tools as a JSON-RPC HTTP API.
Installation
scala-cli examples/src/main/scala/chimp/adderMcp.scalaSecurity Notes
The framework itself appears robust, leveraging Scala's type safety and Tapir's well-established endpoint definitions. No 'eval' or similar dangerous runtime code execution is evident. Hardcoded secrets are not present in the provided snippets. The primary security considerations would stem from how developers implement the 'handle' or 'handleWithHeaders' logic for their specific tools: - External Service Calls: Examples like 'weatherMcp' interact with external APIs (Nominatim, Open-Meteo). Misuse of these or lack of rate limiting/error handling in the custom logic could lead to denial-of-service or unexpected costs. - Header Handling: 'handleWithHeaders' provides direct access to HTTP headers. Custom tool logic must correctly validate and sanitize any sensitive information or user input from headers to prevent injection attacks or information leakage. - Input Validation: While Tapir and Circe provide type-safe decoding, complex business logic within 'handle' functions still requires careful validation of the input type to prevent logical flaws or resource exhaustion.
Similar Servers
tmcp
Build Model Context Protocol (MCP) servers for AI agents, enabling them to access context and execute tools.
frontmcp
FrontMCP is a TypeScript-first framework for building Model Context Protocol (MCP) servers, enabling AI models to interact with external systems through typed tools, resources, and prompts, including dynamic UI rendering and robust authentication.
rust-mcp-sdk
A high-performance, asynchronous Rust SDK for building Model Context Protocol (MCP) servers and clients, simplifying protocol handling, enabling tool-based interactions, and supporting multiple transports and authentication methods.
rust-mcp-schema
Provides a type-safe Rust implementation of the Model Context Protocol (MCP) schema for building LLM applications and integrating with external data sources and tools. It facilitates serialization and deserialization of MCP messages.