← Back to directory
M

MCP TypeScript Core Server

Community
Framework / SDK
Agent-native TypeScript framework for building MCP servers

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

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

This server is a scaffold powered by the mcp-ts-core framework and currently includes no predefined tools. It is suitable for developers as a starting point but not for non-technical users directly.

Strongest · Documentation 10/20 Weakest · Reliability 2/20

Reliability
2/20
Security and permissions
8/20
Maintenance
10/20
Documentation
10/20
Setup experience
3/20
Why each score
Reliability 2/20
The templates/server.json manifest uses the {{PACKAGE_NAME}} placeholder and an empty repository URL, so it cannot be installed or started as-is; it declares no tools, so the init/tools-list handshake and tool behavior cannot be verified. The README's framework-level lifecycle claims are untrusted and no committed CI or tests for this template server were supplied. Version 0.1.0 in the manifest also conflicts with the README's 0.11.1. Score is therefore very low.
Security and permissions 8/20
No red-line issues found: no malware, credential theft, dangerous irreversible defaults, or real secrets in the manifest. The HTTP package defaults to 127.0.0.1 and MCP_AUTH_MODE defaults to none, which is a contained baseline. However, the manifest omits auth-related variables such as MCP_AUTH_SECRET_KEY, and there are no tool definitions, so least-privilege, confirmation, and data-boundary controls cannot be assessed; framework auth/storage capabilities do not automatically translate to this server's security posture.
Maintenance 10/20
The repository is not archived, has an Apache-2.0 license, and the README indicates version 0.11.1 with a CHANGELOG link, evidencing ongoing maintenance. Deductions are made for missing commit/issue-response/dependency-update evidence and for the manifest's stale 0.1.0 version versus README 0.11.1, a versioning-governance gap. This matches the 'active but with governance gaps' anchor.
Documentation 10/20
The README provides layered framework documentation: quick start, configuration table, API overview, testing, and telemetry doc links. But it is not specific to templates/server.json: the server description is empty, no tool parameters are documented, there are no troubleshooting or client-connection examples for this manifest, and the placeholder-based manifest leaves hidden assumptions. Hence no higher than the 'usable with gaps' anchor.
Setup experience 3/20
The manifest is a template, not a runnable server: the package identifier is {{PACKAGE_NAME}}, so npm package arguments cannot be executed directly; the README quick start uses bunx init rather than steps for this manifest, and no mainstream client configuration example is provided. Static calibration caps setup at 15 without execution evidence, and none was supplied; the install path is unclear and fragile, so the score is 3.

Static review · not runListed 2026-08-07

Read the FMRS scoring method →

Fit and risk

What it can accessRuns commands or codeUses the networkConnects to a database

Best for

  • TypeScript developers looking to quickly scaffold an MCP server
  • Teams needing extensible MCP server infrastructure
  • Experimental projects or proof-of-concepts

Not for

  • End-users requiring out-of-the-box production tools
  • Scenarios needing ready-made domain-specific functionality
  • Those who do not wish to implement their own tool definitions

Required permissions

  • Network access (if tools call external APIs)
  • Filesystem access (depending on storage backend)
  • Environment variable configuration

Risks and side effects

  • The framework is likely under active development, APIs may change
  • Default security configuration may be insufficient; adjust for production
  • Dependencies may introduce vulnerabilities; keep updated

Setup

Before you start

Runtime:Node.js · Bun 1.3.0+

MCP_AUTH_SECRET_KEY optionalsecret JWT signing secret, required for jwt mode; generate yourself and keep secret.
OPENROUTER_API_KEY optionalsecret OpenRouter LLM API key, obtained from the OpenRouter platform; only needed for related services.
Other optional settings (9)
MCP_TRANSPORT_TYPE optional Transport type: stdio or http, defaults to stdio; read by the framework at startup.
MCP_HTTP_PORT optional HTTP server port, defaults to 3010.
MCP_HTTP_HOST optional HTTP server hostname, defaults to 127.0.0.1.
MCP_HTTP_ENDPOINT_PATH optional MCP endpoint path, defaults to /mcp.
MCP_AUTH_MODE optional Auth mode: none, jwt, or oauth; defaults to none.
MCP_LOG_LEVEL optional Minimum log level (e.g. debug, info, warn); defaults to info.
STORAGE_PROVIDER_TYPE optional Storage backend: in-memory, filesystem, supabase, or cloudflare-d1/kv/r2; defaults to in-memory.
CANVAS_PROVIDER_TYPE optional DataCanvas backend: none or duckdb (optional peer dep @duckdb/node-api); defaults to none.
OTEL_ENABLED optional Whether to enable OpenTelemetry; defaults to false.
  1. Ensure Node.js and npm are installed.
  2. Start the server using npx -y @cyanheads/mcp-ts-core run start:stdio.
  3. Set environment variables as needed (e.g., MCP_LOG_LEVEL).
claude_desktop_config.json
{
  "mcpServers": {
    "mcp-ts-core-server": {
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/mcp-ts-core",
        "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-server": {
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/mcp-ts-core",
        "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-server -e MCP_LOG_LEVEL=info -- npx -y @cyanheads/mcp-ts-core run start:stdio

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

Check that it works

This is a framework/SDK for building MCP servers, not a server users connect to directly; run `bunx @cyanheads/mcp-ts-core init my-mcp-server` per the quick start and confirm the project scaffold is generated. No tools are recorded, so no tool-list verification is possible.

Troubleshooting

  1. Ensure Node.js version compatibility (TypeScript ^7.0.2 recommended)
  2. Check that environment variables are set correctly
  3. Check logs (MCP_LOG_LEVEL) for error messages

Use cases

As a starting point for building MCP servers in TypeScript
To test interactions between MCP clients and a framework-based server
As a scaffold for developing custom MCP servers

Supported clients

Claude Desktop

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

Overview

This is a scaffold server generated by the @cyanheads/mcp-ts-core framework, which is designed for building MCP servers. The framework provides declarative definitions (tools, resources, prompts), authentication (JWT/OAuth), multi-backend storage (in-memory, filesystem, Supabase, Cloudflare D1/KV/R2), OpenTelemetry observability, and first-class support for Bun, Node.js, and Cloudflare Workers. This server acts as a demonstration of the framework's capabilities; actual tools are defined by the developer in the generated project.

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