harness-mcp
harness-mcp
Ein meinungsstarkes TypeScript-Boilerplate für die Erstellung von MCP-Servern mit Fokus auf Harness Engineering.
Harness Engineering ist die Disziplin, das Gerüst um einen LLM-Agenten herum zu entwerfen – Tools, Beschreibungen, Fehler, Kontext –, damit der Agent tatsächlich das Richtige tut. Die meisten MCP-Boilerplates bringen einem das Protokoll bei. Dieses hier bringt einem das Protokoll und die Praxis bei.
Was ist enthalten
defineTool()— ein Zod-Schema speist das MCP-SDK, die Function-Calling-API von OpenAI und den Runtime-Handler. Validierung und Fehler-Wrapping erfolgen automatisch.Beide Transporte — stdio (
src/index.ts) für lokale Clients im Claude-Code-Stil, Streamable HTTP (src/http.ts) für Remote-/Web-Clients. Beide teilen sich eincreateServer().Strukturierte
AgentErrors — jeder Fehler hat einencode, einemessageund einenhint, der für das Modell geschrieben wurde: "callitems_listfirst to find a valid id." Vage Fehlermeldungen verschwenden Turns; dies behebt das auf Type-Ebene.Ein echtes Eval-Harness — Vitest-basiert. Unit-Tests laufen frei in der CI;
tests/mcp/echo.test.tssteuert ein echtes OpenAI-Modell durch den MCP-Server über ein In-Memory-Transportpaar und führt Assertions auf dem resultierenden Tool-Call-Trace durch.Ein einfaches CRUD-Beispiel —
items_create / list / read / update / deleteplus einecho-Tool. Ersetzen Sie den In-Memory-Speicher durch Ihr echtes Backend; behalten Sie die Struktur bei.
Related MCP server: TypeScript MCP Server Boilerplate
Schnellstart
bun install
bun test # unit tests, no API key needed
bun run start # stdio server on stdin/stdout
bun run start:http # HTTP server on http://localhost:3000/mcpUm die Model-in-the-Loop-Evals auszuführen:
cp .env.example .env
# add OPENAI_API_KEY
bun run test:mcpIn Claude Code einbinden
{
"mcpServers": {
"harness-mcp": {
"command": "bun",
"args": ["run", "/absolute/path/to/harness/mcp/src/index.ts"]
}
}
}Layout
src/
index.ts stdio entry
http.ts streamable-http entry
core/
server.ts createServer() — shared by both transports
tool.ts defineTool() wrapper
errors.ts AgentError
store.ts replace with your backend
tools/
echo.ts smoke-test tool
items-*.ts CRUD example tools
index.ts registry
tests/
unit/ fast, no API key
tool.test.ts
store.test.ts
mcp/ protocol + model-in-the-loop
setup.ts in-memory client + runWithModel() helper
smoke.test.ts no model
echo.test.ts gpt-4o-mini, skipped without OPENAI_API_KEYDie Meinungen
Tool-Beschreibungen sind Prompt Engineering. Jede Beschreibung beginnt mit
USE WHEN ...und enthältDO NOT USE WHEN ...für verwandte Tools, mit denen das Modell dieses verwechseln könnte. Der Smoke-Test erzwingt diese Konvention.Fehler lehren. Jeder
AgentErrorenthält einhint-Feld. Lesen Sie Ihre Fehlermeldungen, als wären Sie der Agent – wüssten Sie, was als Nächstes zu tun ist? Wenn nicht, schreiben Sie sie um.Listen-Endpunkte paginieren.
items_listgibt{ items, nextCursor }zurück. Standardlimit 20, hartes Limit 100. Schütten Sie keine unbegrenzten Daten in den Kontext.Destruktive Operationen akzeptieren
dryRun.items_deletesagt Ihnen, was passieren würde, wenn Sie sich nicht sicher sind.Ein Zod, drei Konsumenten. Pflegen Sie JSON-Schema nicht manuell neben Zod –
defineToolleitet beides ab.Evals sind Tests. Tool-Call-Traces sind assertierbar. Wenn eine Regression in der Beschreibung das Verhalten des Modells beeinträchtigt, fängt Ihr Test dies ab.
Lizenz
MIT.
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
- AlicenseNot gradedqualityDmaintenanceA TypeScript-based template for rapidly developing MCP servers with modular tool architecture, built-in validation using Zod schemas, and comprehensive error handling.9MIT
- FlicenseAqualityDmaintenanceA boilerplate for building MCP servers using TypeScript, with example tools like calculator and greet, plus resource support.6
- FlicenseBqualityCmaintenanceA TypeScript MCP server boilerplate providing example tools and resources for rapid development of custom Model Context Protocol servers.8
- FlicenseNot gradedqualityDmaintenanceA TypeScript MCP server boilerplate providing example tools and resources for rapid development and testing of Model Context Protocol servers.
Related MCP Connectors
A TypeScript MCP server for Home Assistant, enabling programmatic management of entities, automati…
A MCP server built for developers enabling Git based project management with project and personal…
Kickstart development with a customizable TypeScript template featuring sample tools for greeting,…
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/giuseppecrj/harness-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server