
mcp-ts-core
Interface UIpar cyanheads
Framework TypeScript natif pour agents permettant de construire des serveurs MCP. Définitions déclaratives d'outils/ressources/prompts avec authentification, stockage multi-backend et OpenTelemetry
Ce qu'il fait
@cyanheads/mcp-ts-core est la couche d'infrastructure pour les serveurs MCP en TypeScript. Au lieu de reconstruire les transports, l'authentification, la journalisation et le stockage dans chaque projet, vous l'installez comme dépendance et vous vous concentrez entièrement sur l'écriture d'outils, de ressources et de prompts. Des constructeurs déclaratifs gèrent l'enregistrement, la validation et le formatage des réponses. Supporte Node.js (stdio et HTTP via Hono) ainsi que Cloudflare Workers avec les mêmes définitions.
Caractéristiques clés
- Constructeurs déclaratifs —
tool(),resource(),prompt()avec des schémas Zod ; le framework gère automatiquement la validation et le formatage des réponses MCP - Contexte unifié — les gestionnaires reçoivent
ctx.log(portée de la requête),ctx.state(stockage tenant),ctx.elicit(prompt utilisateur),ctx.sample(complétion LLM),ctx.signal(annulation) - Authentification en ligne — ajoutez
auth: ['scope']à toute définition ; le framework vérifie avant d'appeler votre gestionnaire - Outils de tâche — flag
task: truepour les opérations de longue durée avec gestion du cycle de vie et rapport de progression intégrés - Stockage multi-backend — basculez entre la mémoire, le système de fichiers, Supabase ou Cloudflare D1/KV/R2 via variable d'environnement
- OpenTelemetry — journalisation Pino structurée avec export optionnel de traces/métriques ; chaque appel d'outil est auto-instrumenté
- Linter de définitions —
validateDefinitions()vérifie les outils/ressources/prompts par rapport aux spécifications MCP au démarrage - Prêt pour l'Edge —
createWorkerHandler()pour Cloudflare Workers ; même code, point d'entrée différent
Installation
Claude Desktop — après avoir créé la structure d'un serveur avec le framework, ajoutez-le à claude_desktop_config.json :
{
"mcpServers": {
"my-server": {
"command": "node",
"args": ["/path/to/my-mcp-server/dist/index.js"],
"env": { "MCP_TRANSPORT_TYPE": "stdio" }
}
}
}
Créer un nouveau serveur :
bunx @cyanheads/mcp-ts-core init my-mcp-server
cd my-mcp-server && bun install
VS Code Copilot — ajoutez le serveur construit à .vscode/settings.json :
{
"github.copilot.chat.mcp.servers": {
"my-server": {
"command": "node",
"args": ["/path/to/dist/index.js"]
}
}
}
Hôtes supportés
Fonctionne avec tout client MCP ; utilisation confirmée avec Claude Desktop et VS Code Copilot dans la documentation officielle.





