Skip to content
Conduit

mcp server

impossible-mcp

A TypeScript template for ReAct agents that use local or OpenAI-compatible models, call local and MCP tools, preserve conversation state, and stream responses over HTTP.

impossibleG/impossible-mcpcommunitylistedunreviewed

Set up

Runs on your computer. Pick your agent and operating system.

This project does not publish an install method we can turn into a config. Follow the README instead.

README

synced Oct 26, 2026

Impossible MCP Template

A TypeScript foundation for building Model Context Protocol servers that run locally over stdio or remotely over Streamable HTTP. Fork it, replace the example capabilities, and keep the operational pieces.

Included

  • MCP tools, resources, prompts, and parameterized resources
  • stdio and Streamable HTTP transports from one server factory
  • health and readiness routes for HTTP deployments
  • validated environment configuration and structured logs
  • graceful process shutdown
  • strict TypeScript, tests, coverage gates, linting, formatting, and CI
  • Docker and Compose definitions
  • security, contribution, and release documentation

Start locally

npm install
cp .env.example .env
npm run dev

The default transport is stdio. Run the HTTP service with:

MCP_TRANSPORT=http npm run dev

On PowerShell:

$env:MCP_TRANSPORT = "http"
npm run dev

The MCP endpoint is http://127.0.0.1:3333/mcp. Health checks are available at /healthz and /readyz.

Connect over stdio

Build the project and point an MCP host at the executable:

{
  "mcpServers": {
    "impossible-template": {
      "command": "node",
      "args": ["/absolute/path/to/impossible-mcp-template/dist/cli.js"]
    }
  }
}

Make it yours

Start in src/server.ts. Replace the example echo and server-time tools, then update the resources and prompts. Keep application secrets in environment variables and add them to the logger's redaction paths.

The project separates transport wiring from capability registration. Tests can instantiate the server factory without opening a production port, and both transports expose the same behavior.

Commands

CommandPurpose
npm run devRun the server with file watching
npm run buildCompile the production package
npm testRun the test suite once
npm run test:coverageEnforce coverage thresholds
npm run lintCheck TypeScript and JavaScript rules
npm run formatCheck repository formatting
npm run verifyRun the complete local verification pipeline

Documentation

License

MIT

↑↓ navigate openesc close