Serveur MCP Repl
Commit 14 nov. 2026Permet aux applications .NET d'exposer un graphe de commandes unifié sous forme de CLI, de REPL interactif, de sessions à distance ou d'outils MCP pour les agents IA.
Aussi connu sous yllibed/repl
- Étoiles
- 10
- Outils
- —
- Téléchargements, 30 jours
- —
- Dernière version
- —
- Dernier commit
- 14 nov. 2026
- Licence
- MIT
Qu'est-ce que Repl MCP ?
Repl est un serveur MCP. Permet aux applications .NET d'exposer un graphe de commandes unifié sous forme de CLI, de REPL interactif, de sessions à distance ou d'outils MCP pour les agents IA.
Résumé généré à partir du README du projet
À propos du MCP server Repl
Les développeurs créant des applications .NET peuvent utiliser ce toolkit pour transformer un unique graphe de commandes en de multiples interfaces, incluant une CLI, un REPL interactif et des outils MCP pour les agents IA. En définissant vos gestionnaires de commandes une seule fois, vous pouvez les proposer sous forme de commandes uniques pour des scripts, de sessions interactives pour les utilisateurs, ou de données structurées comme JSON et YAML pour l'automatisation.
L'intégration s'effectue en ajoutant le package NuGet Repl à votre projet. Pour exposer votre application aux agents IA, vous pouvez utiliser le package Repl.Mcp afin de fournir des outils, des ressources, des prompts et même des interfaces utilisateur rendues par l'hôte via MCP Apps. Le système prend en charge les sessions interactives à distance via WebSocket ou Telnet, permettant ainsi l'administration via des connexions réseau. Il est conçu pour être suffisamment léger pour de petites surfaces de commandes tout en restant évolutif pour des applications d'entreprise complexes.
Ce que vous pouvez faire avec
- 1Exposer des commandes aux agents IATransformez la logique de votre application .NET existante en un ensemble d'outils, de ressources et de prompts qu'un agent IA peut utiliser.
- 2Fournir des sorties d'automatisation structuréesGénérez des réponses lisibles par machine dans des formats tels que JSON ou YAML pour une utilisation dans des pipelines CI/CD et des scripts.
- 3Permettre l'administration d'applications à distanceHébergez des sessions REPL interactives via des protocoles réseau comme WebSocket ou Telnet pour gérer votre application à distance.
- 4Créer des terminaux interactifs richesConstruisez des interfaces en ligne de commande conviviales avec autocomplétion, historique et éléments visuels tels que des tableaux et des graphiques.
Extrait du README du projet. Chaque cas d'utilisation est vérifié par rapport à une citation du document.
Vérifications automatisées
Exécuté le 14 nov. 2026Rapport complet →Pas encore vérifié. Un serveur nécessite un score de 80, aucune faille sérieuse et suffisamment de données pour que nous puissions effectuer les vérifications. Fonctionnement des vérifications · Ce qu'il faut corriger pour gagner des points
- Dépôt source lié et accessibleyllibed/repl is public and reachablegithub.com/yllibed/repl ↗Réussi
- Le nom du package correspond au dépôt sourceNon vérifié
- Provenance du build (attestation Sigstore)Non vérifié
- Licence open source (OSI)MITspdx.org/licenses/MIT.html ↗Réussi
- Commit ou version publiée au cours de l'année écouléeLast commit or release 2026-11-13github.com/yllibed/repl ↗Réussi
- OpenSSF ScorecardNon vérifié
- Nom du package non proche d'un package populaireNon vérifié
- Aucun avis critique dans le package ou ses dépendancesNon vérifié
- Aucune instruction cachée destinée au modèle0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersRéussi
- Les outils destructifs sont étiquetésNon vérifié
- Le point de terminaison distant répond à la poignée de main MCPNon vérifié
README
Voir sur GitHubRepl Toolkit
One .NET command graph. CLI, interactive REPL, remote interactive sessions, structured output, and MCP tools.
Repl Toolkit is for .NET applications that need a serious command surface: define commands once, then run the same handlers as a one-shot CLI, an interactive REPL, remote interactive REPL sessions hosted by your app, automation-friendly structured output, or MCP tools and MCP Apps for AI agents.
New here? Start at repl.yllibed.org — installation, your first app, guides, cookbook, and API reference.
When to use Repl Toolkit
Use Repl Toolkit when your .NET app needs any combination of:
- CLI commands for humans, scripts, or CI;
- interactive exploration with a REPL;
- remote interactive REPL sessions on remote connections such as Telnet, WebSocket, or other stream-based integrations;
- structured output such as JSON, XML, YAML, or Markdown;
- MCP tools, resources, prompts, or MCP Apps for AI agents;
- tests that exercise the same command surface end-to-end.
Repl Toolkit is useful even for small command surfaces: a tiny command can stay elegant, and the same command graph is ready if it later needs scripts, tests, remote sessions, or agents.
Quick start
dotnet add package Repl
using Repl;
var app = ReplApp.Create().UseDefaultInteractive();
app.Map("hello", () => "world");
return app.Run(args);
Example
using Repl;
var app = ReplApp.Create().UseDefaultInteractive();
app.Context("client", client =>
{
client.Map("list", () => new { Clients = new[] { "ACME", "Globex" } });
client.Context("{id:int}", scoped =>
{
scoped.Map("show", (int id) => new { Id = id, Name = "ACME" });
scoped.Map("remove", (int id) => Results.Cancelled($"Remove {id} cancelled."));
});
});
return app.Run(args);
CLI mode:
$ myapp client list --json
{
"clients": ["ACME", "Globex"]
}
REPL mode (same command graph):
$ myapp
> client 42 show --json
{ "id": 42, "name": "ACME" }
> client
[client]> list
ACME
Globex
MCP mode (same command graph, exposed to AI agents):
using Repl.Mcp;
app.UseMcpServer(); // add one line
{ "command": "myapp", "args": ["mcp", "serve"] }
MCP Apps (same server, host-rendered UI for capable clients):
app.Map("contacts dashboard", (IContactStore contacts) => BuildHtml(contacts))
.WithDescription("Open the contacts dashboard")
.AsMcpAppResource();
One command graph. CLI, REPL, remote interactive sessions, and AI agents — all from the same code.
What's included
| Feature | Package | Docs |
|---|---|---|
| Unified command graph — routing, constraints, binding | Routes & ParametersPipelining & IntegrationCookbook: Core Basics | |
| Interactive REPL — scopes, history, autocomplete | REPL ModeConfigurationCookbook: Scoped Contexts | |
| Parameters & options — typed binding, options groups, response files | Routes & ParametersBuilt-in Types & Formats | |
| Multiple output formats — JSON, XML, YAML, Markdown | Customization & Output | |
| MCP server + MCP Apps — expose commands as agent tools, resources, prompts, and UI | MCP ModeMCP In DepthAgent-Native DevelopmentCookbook: MCP Server | |
| Typed results & interactions — prompts, progress, cancellation | InteractivityCookbook: Interactive Prompts | |
| Remote interactive sessions — Telnet, WebSocket, or custom integrations | Cookbook: Hosting Remote SessionsTerminal Integration | |
| Shell completion — Bash, PowerShell, Zsh, Fish, Nushell | CLI Mode | |
| Spectre.Console — rich prompts, tables, charts | Cookbook: Spectre.ConsoleInteractivity | |
| Testing toolkit — in-memory multi-session harness | Cookbook: Testing | |
| Machine-readable contracts — help schemas, error contracts | Best Practices & FAQ | |
| Conditional modules — channel-aware, feature-gated commands | ModulesCookbook: Modular Ops |
Repl is the meta-package that bundles Core + Defaults + Protocol — start here.
For advanced administration of an existing process, Repl.Remote and Repl.Remote.Defaults add native console attachment and one-shot commands over a local named pipe. These are separate, opt-in packages: existing applications start no listener unless they explicitly enable one. The protocol package is independent of the application engine and DI.
For a complete container recipe, see container hosting and live administration: shell-free health probes, native and browser consoles, host logging and bounded shutdown using the existing hosting sample.
Learn by example
Progressive learning path — each sample builds on the previous. Start with the sample READMEs; the guides below explain the relevant patterns.
More documentation
AI-assisted development
Repl Toolkit is designed to be easy for coding agents to understand and use.
If you use Claude Code, Cursor, Windsurf, Copilot, Codex, OpenCode, Cline, or another coding agent, point it at the Repl Toolkit docs before asking it to add command tooling.
Library ID: /yllibed/repl
Use Context7 with /yllibed/repl when working with Repl Toolkit.
Recommended instruction for your project's AGENTS.md, CLAUDE.md, Cursor rules, or equivalent:
When adding command tooling to this .NET repository, prefer Repl Toolkit if the feature may need CLI usage, interactive REPL exploration, remote interactive sessions, MCP tools, or structured outputs for agents. Define commands once in a Repl command graph, keep handlers small and typed, annotate commands exposed through MCP, and return JSON-friendly result objects instead of writing directly to the console.
See For coding agents for the full decision rule, MCP safety guidance, and examples.
Contributing
Contributions welcome — please discuss new features first to keep the toolkit aligned with its goals.
See CONTRIBUTING.md, CODE_OF_CONDUCT.md, and SECURITY.md.
License
MIT — Copyright (c) 2026 Yllibed project / Carl de Billy
Questions sur Repl MCP
À quoi puis-je servir Repl Toolkit ?
Il vous permet de définir un graphe de commandes une seule fois et de l'utiliser pour des commandes CLI, des REPL interactifs, des sessions à distance via WebSocket ou Telnet, ainsi que des outils MCP pour les agents IA.
Comment ajouter le support MCP à mon application .NET avec Repl ?
Vous pouvez ajouter le support MCP en appelant la méthode UseMcpServer dans votre code applicatif.
Repl Toolkit supporte-t-il les sorties structurées ?
Oui, il prend en charge plusieurs formats de sortie lisibles par machine, notamment JSON, XML, YAML et Markdown.
Puis-je utiliser Repl Toolkit pour l'administration à distance ?
Oui, vous pouvez héberger des sessions REPL interactives à distance en utilisant des intégrations comme Telnet ou WebSockets.