Tools MCP and External Integration

Tools MCP and External Integration

MCP Server — Stack

Mcp server › Stack

17 of 65 in this book · 2 min read

Technology landscape as of 2026-10-10. Knowledge cutoff May 2026.

Selection criteria

The choice is a library plus a deployment shape, and the deployment shape constrains more than the library does.

  • Deployment model. Whether the server runs as a short-lived child process on the caller's machine or as a long-lived network service. This decides authentication, credential custody, scaling, and who can reach the backing system.
  • Concurrency behaviour. Whether one slow request blocks the process, since many servers are written as simple synchronous handlers and then deployed where they receive parallel calls from a single agent turn.
  • Streaming and progress. Whether the library supports emitting incremental progress for long operations, which is the difference between a client waiting usefully and timing out.
  • Session handling. Whether session identity, resumption after a dropped connection, and eviction are provided or left as an exercise, and whether the provided behaviour survives horizontal scaling.
  • Surface authoring ergonomics. How declarations are written — decorators over functions, explicit schema documents, generation from an existing interface description — and whether the resulting descriptions can be edited for a model reader without editing code.
  • Per-caller scoping. Whether the library makes the authenticated caller available to the handler, so the advertised surface and the backing call can both depend on it.
  • Testability. Whether the surface can be exercised without a live client, so description and schema changes can be covered by ordinary tests.

Options

Option Best for Watch out for
Official MCP SDKs (TypeScript, Python, Java, Kotlin, C#, Go, Rust and others) Writing a purpose-built server over a system you own Feature parity between language ports lags; streaming, session, and authorisation support arrive at different times
Lightweight server frameworks layered on an SDK (FastMCP and similar) Fast authoring where declarations are derived from typed function signatures Generated descriptions read like code documentation; expect to override them for model consumption
Generators from an existing interface description (OpenAPI-to-MCP bridges) Putting a large existing HTTP API in front of an agent quickly Produces exactly the endpoint-mirroring surface that is hardest for a model to use; treat the output as a starting point
Stdio child process distributed as a binary or package Developer tooling, local filesystem and desktop access, anything needing the user's own machine Runs with the user's full privileges unless separately confined; distribution and update are the user's problem
Containerised network service behind an HTTP transport Shared organisational capabilities with central credentials and audit Needs real authorisation, multi-tenancy, and session handling — all of which a local server avoids entirely
Serverless function hosting the HTTP transport Bursty, stateless surfaces with low steady traffic Cold starts land inside an agent turn; long operations collide with platform execution limits
Embedding the server in an existing application process Exposing internal capability without a new deployment The server's resource consumption and failure modes become the host application's