← Back to directory
M

MCP Ts Core

Community
Framework / SDK
Building MCP servers with TypeScript infrastructure handled.

This is a framework for building MCP servers or agents, not a server you connect a client to.

Category
Dev Tools #327 of 438
Stars
★ 152 Popular
Transport
stdio (local process) · Streamable HTTP
Runtime
Bun 1.3.0+
Credentials
No credential needed
License
Apache-2.0
Last commit
43FMRS · D

mcp-ts-core is a powerful TypeScript framework suitable for developers wanting to build custom MCP servers. It provides many built-in features (auth, storage, telemetry) that can significantly accelerate development. Verified to support stdio and streamable-http transports, but this server provides no specific tools.

Strongest · Documentation 12/20 Weakest · Reliability 5/20

Reliability
5/20
Security and permissions
8/20
Maintenance
10/20
Documentation
12/20
Setup experience
8/20
Why each score
Reliability 5/20
Only the manifest and README were supplied; no CI workflows, committed tests, or executable logs are available to verify clean startup, the initialize/tools-list handshake, or parity between declared tools and real behavior. The README describes framework capabilities and error contracts but is untrusted evidence; 76 open issues add uncertainty. Under static calibration, missing execution evidence lowers the score, so a conservative 5 is given.
Security and permissions 8/20
No red-line issues were found: no malware, no real tokens in examples, and no irreversible destructive defaults. HTTP defaults to 127.0.0.1 with auth mode 'none' but is local-only; JWT/OAuth are opt-in with secrets passed via environment variables. However, without source code, actual scope enforcement, data boundaries, storage permissions, and confirmation of sensitive operations cannot be verified, so full marks are not justified; 8 is given.
Maintenance 10/20
The repository is not archived, has an Apache-2.0 license, version 0.11.1, and the README references a changelog and devcheck commands, suggesting ongoing maintenance. However, commit/release dates, issue response times, dependency update records, and a security response channel are missing; 76 open issues indicate possible governance backlog. Score is 10.
Documentation 12/20
The README includes quick start, a configuration table, API overview, subpath exports, examples, testing guidance, and doc links, and discloses some limitations (e.g., DataCanvas fails closed on Workers). But troubleshooting, cost/limits guidance, and verifiable tool-parameter documentation for this server are missing; CLAUDE.md and docs/ contents were not provided as layered documentation evidence. Score is 12.
Setup experience 8/20
Quick start requires Bun, uses bunx scaffolding, then bun install; the manifest defines stdio and streamable-http transports with environment variables. However, no mainstream MCP client configuration examples are provided, and no CI or tests prove that installation leads to a working connection; as a framework, users must write their own tools, so setup remains manual and unverifiable statically. Score is 8.

Static review · not runListed 2026-08-07

Read the FMRS scoring method →

Fit and risk

What it can accessWrites / deletes local filesRuns commands or codeUses the networkConnects to a database

Best for

  • Development teams using TypeScript
  • Building production-grade MCP servers quickly
  • Needing streamable HTTP or stdio transports
  • Requiring OpenTelemetry observability

Not for

  • End-users who don't want to write code
  • Those needing a pre-defined set of business tools
  • Simple JSON-RPC services without framework overhead

Required permissions

  • Access to environment variables for configuration
  • May access filesystem (for storage) or network (for external APIs)
  • If using Supabase or Cloudflare D1/KV/R2, those credentials are needed

Risks and side effects

  • Dependency on external services (like Supabase) introduces security risks
  • Misconfigured setups may expose the wrong transport (e.g., HTTP when stdio intended)
  • OpenTelemetry may generate additional network traffic

Setup

Before you start

Runtime:Bun 1.3.0+

MCP_AUTH_SECRET_KEY optionalsecret JWT signing secret, required for jwt auth mode; generate and keep it private.
OPENROUTER_API_KEY optionalsecret OpenRouter LLM API key; obtain one from the OpenRouter platform.
Other optional settings (9)
MCP_TRANSPORT_TYPE optional Transport type, stdio or http; defaults to stdio.
MCP_LOG_LEVEL optional Minimum log output level (debug/info/warn, etc.); defaults to info.
MCP_HTTP_HOST optional HTTP server hostname; defaults to 127.0.0.1.
MCP_HTTP_PORT optional HTTP server port; defaults to 3010.
MCP_HTTP_ENDPOINT_PATH optional MCP server endpoint path; defaults to /mcp.
MCP_AUTH_MODE optional Authentication mode: none, jwt, or oauth; defaults to none.
STORAGE_PROVIDER_TYPE optional Storage backend: in-memory, filesystem, supabase, or cloudflare-d1/kv/r2; defaults to in-memory.
CANVAS_PROVIDER_TYPE optional DataCanvas workspace type, none or duckdb; defaults to none.
OTEL_ENABLED optional Whether to enable OpenTelemetry telemetry; defaults to false.

Initialize a new project with 'bunx @cyanheads/mcp-ts-core init my-mcp-server', then cd into the directory and run 'bun install'.

claude_desktop_config.json
{
  "mcpServers": {
    "mcp-ts-core": {
      "command": "bun",
      "args": [
        "run",
        "start:stdio"
      ],
      "env": {
        "MCP_LOG_LEVEL": "info"
      }
    }
  }
}

Shown for Claude Desktop. Other clients may use a different file or key (VS Code uses "servers") — the configurator below converts it.

.vscode/mcp.json
{
  "servers": {
    "mcp-ts-core": {
      "command": "bun",
      "args": [
        "run",
        "start:stdio"
      ],
      "env": {
        "MCP_LOG_LEVEL": "info"
      }
    }
  }
}

Goes in your project's .vscode/mcp.json (VS Code uses a "servers" key).

Terminal
claude mcp add mcp-ts-core -e MCP_LOG_LEVEL=info -- bun run start:stdio

Run it in a terminal; replace any <…> placeholders with your own values first.

Check that it works

This is a TypeScript framework for building MCP servers, not a connectable server itself; verify the install by running `bunx @cyanheads/mcp-ts-core init my-mcp-server` and checking the scaffolded project structure.

Troubleshooting

  1. Check that Bun is installed (v1.3.0+)
  2. Run 'bun install' to ensure dependencies are complete
  3. Review environment setup (e.g., MCP_LOG_LEVEL, MCP_HTTP_PORT)
  4. Verify the .env file has correct values

Use cases

Building custom MCP servers
Integrating multiple tools into one server
Servers requiring authentication and multi-tenant storage
Deploying to Cloudflare Workers

Supported clients

Claude Desktop
Claude Code

Listed from the project's documentation, not tested by this site.

Overview

mcp-ts-core is an agent-native TypeScript framework for building MCP servers. It features declarative definitions (tool, resource, prompt), authentication, multi-backend storage, OpenTelemetry observability, and first-class support for Bun, Node, and Cloudflare Workers. The framework handles plumbing like transports, config, logging, lifecycle, and graceful shutdown, letting developers focus on their tools.

Similar servers

Context7 80 · B

Upstash's official server providing up-to-date third-party library docs for AI coding assistants

★ 62.9k · Tools 2 Compare with this →

More servers from this repository

Source revision 72aa12efe872 Data synced 2026-10-12 Read the FMRS scoring method