SlowMCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@SlowMCPcreate a tool that greets by name"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
SlowMCP
Blazingly adequate.
A modern framework for building, testing, and shipping MCP servers.
Written in CoffeeScript.
FastMCP already exists.
Quickstart
import { createServer, text } from 'slowmcp'
import * as z from 'zod'
export const app = createServer({ name: 'hello-tool', version: '1.0.0' })
app.tool({
name: 'greet',
description: 'Greet someone by name.',
input: z.object({ name: z.string().min(1) }),
handler: ({ name }) => text(`Hello, ${name}!`)
})Test it through a real MCP client:
import { testServer } from 'slowmcp/testing'
import app from './server.mjs'
const mcp = testServer(app)
await mcp.protocolVersion() // '2026-07-28', asserted, not assumed
await mcp.tools() // [{ name: 'greet', ... }]
await mcp.call('greet', { name: 'Lee' })
await mcp.close()testServer is a real official MCP Client over the official Streamable HTTP
transport. Connection is lazy, and it asserts SlowMCP's protocol policy before
any of your assertions run.
Serve it:
import { createHttpHandler } from 'slowmcp/http'
export default createHttpHandler(app)Related MCP server: My Awesome MCP
Why this exists
The first thing SlowMCP's test harness caught was that the obvious official client setup silently negotiated the older protocol.
The first spike passed everything it asserted: right server, right tool, right
result. It was also speaking 2025-11-25 to a server that fully supported
2026-07-28, because the official client's negotiation mode defaults to
'legacy'. Nothing errors. Nothing warns. Your tests go green against a
protocol generation you did not mean to test.
Checking for it does not help unless you know the shape of the problem: the SDK
exports LATEST_PROTOCOL_VERSION as the older revision and leaves 2026-07-28
out of SUPPORTED_PROTOCOL_VERSIONS entirely, so the natural assertion passes
too.
So slowmcp/protocol states what SlowMCP speaks, testServer asserts what was
actually negotiated before you get the connection, and a regression test pins
the whole thing: default client, same handler, lands on the old revision,
passes discovery and invocation, gets caught by the policy.
That is the honest answer to why this exists. The name got your attention. The harness found a real bug on day one.
Details: docs/bootstrap-2026-08.md.
Ship it
The release check runs from the repository today. It is not published as a
slowmcp executable yet, so there is no slowmcp check on your PATH.
pnpm slowmcp:checkSLOWMCP CHECK
PASS package
PASS protocol
PASS tools
PASS invocation
PASS snapshot
PASS types
PASS coffeescript-containment
7/7 checks passed.
Blazingly adequate.It packs the package, installs the tarball into a clean project, and verifies it from the outside: every public subpath enumerated from the packed export map, protocol negotiation, discovery, invocation, snapshot semantics, the shipped TypeScript declarations, and the absence of CoffeeScript.
Shipping it as a real slowmcp check binary is roadmap work, not done.
Public API
slowmcp createServer, text, SlowMcpError, version
slowmcp/http createHttpHandler
slowmcp/testing testServer
slowmcp/protocol protocolPolicy, satisfiesProtocolPolicy, assertProtocolPolicyNine exports. The root is the authoring API and does not re-export the others for convenience: what you import should say what it does.
Status
Vertical slice. Tools, Streamable HTTP, and the test harness work end to end from the packed artifact, and every subpath is proven from the tarball in a clean external project. Resources, prompts, stdio, and the full CLI are not built yet.
Measurements in VERTICAL_SLICE_FINDINGS.md.
Design in ARCHITECTURE.md.
Origin
AI is writing so much code these days. So I wrote SlowMCP in a dead language AI doesn't know: CoffeeScript. Let's see if THAT cuts down on the AI-generated pull requests.
Roadmap
Tools, resources, and prompts
stdio and Streamable HTTP
Protocol-backed test harness
slowmcp checkas an installable commandReference implementations
GitHub Pages documentation
TypeScript support: never.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityDmaintenanceA lightweight framework for building and running Model Context Protocol (MCP) servers using FastMCP, providing tools for development, debugging, and server management.4MIT
- -license-quality-maintenanceA basic MCP server built with FastMCP framework that provides example tools including message echoing and server information retrieval. Supports both stdio and HTTP transports with Docker deployment capabilities.
- -license-quality-maintenanceA basic MCP server built with FastMCP framework that provides example tools including message echoing and server information retrieval. Supports both stdio and HTTP transports with Docker deployment capabilities.
- -license-quality-maintenanceA basic MCP server built with FastMCP framework that provides example tools including message echoing and server information retrieval. Supports both stdio and HTTP transports for integration with various MCP clients.
Related MCP Connectors
MCP server for the FFmpeg Micro video transcoding API — create, monitor, download transcodes.
A MCP server built for developers enabling Git based project management with project and personal…
MCP server for understanding Javascript internals from ECMAScript specification.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/LeeFlannery/slowmcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server