Repl MCP server
Commit Nov 14, 2026Enables .NET applications to expose a unified command graph as a CLI, interactive REPL, remote sessions, or MCP tools for AI agents.
Also known as yllibed/repl
- Stars
- 10
- Tools
- —
- Downloads, 30 days
- —
- Latest version
- —
- Last commit
- Nov 14, 2026
- License
- MIT
What is Repl MCP?
Repl enables .NET applications to expose a unified command graph as a CLI, interactive REPL, remote sessions, or MCP tools for AI agents.
Summary generated from the project's README
About Repl MCP server
Developers building .NET applications can use this toolkit to transform a single command graph into multiple interfaces including a CLI, an interactive REPL, and MCP tools for AI agents. By defining command handlers once, you can serve them as one-shot commands for scripts, interactive sessions for humans, or structured data like JSON and YAML for automation.
Integration is achieved by adding the Repl NuGet package to your project. To expose your application to AI agents, you can use the Repl.Mcp package to provide tools, resources, prompts, and even host-rendered UIs through MCP Apps. The system supports remote interactive sessions via WebSocket or Telnet, allowing for administration over network connections. It is designed to be lightweight enough for small command surfaces while remaining scalable for complex enterprise applications.
What you can do with it
- 1Expose commands to AI agentsTurn your existing .NET application logic into a set of tools, resources, and prompts that an AI agent can use.
- 2Provide structured automation outputGenerate machine-readable responses in formats like JSON or YAML for use in CI/CD pipelines and scripts.
- 3Enable remote application administrationHost interactive REPL sessions over network protocols like WebSocket or Telnet to manage your app remotely.
- 4Create rich interactive terminalsBuild human-friendly command line interfaces with autocomplete, history, and visual elements like tables and charts.
Written from the project's README. Every use case is checked against a quote from it.
Automated checks
Ran Nov 14, 2026Full report →Not verified yet. A server needs a score of 80, no serious finding, and enough data for us to check. How checks work · What to fix for more points
- Source repository linked and reachableyllibed/repl is public and reachablegithub.com/yllibed/repl ↗Pass
- Package names this repository as its sourceNot checked
- Build provenance (Sigstore attestation)Not checked
- Open source license (OSI)MITspdx.org/licenses/MIT.html ↗Pass
- Commit or release in the last yearLast commit or release 2026-11-13github.com/yllibed/repl ↗Pass
- OpenSSF ScorecardNot checked
- Package name not close to a popular packageNot checked
- No critical advisory in the package or its dependenciesNot checked
- No hidden instructions to the model0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersPass
- Destructive tools are labelledNot checked
- Remote endpoint answers the MCP handshakeNot checked
README
View on 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
Repl MCP questions
What can I use Repl Toolkit for?
It allows you to define a command graph once and use it for CLI commands, interactive REPLs, remote sessions via WebSocket or Telnet, and MCP tools for AI agents.
How do I add MCP support to my .NET app using Repl?
You can add MCP support by calling the UseMcpServer method in your application code.
Does Repl Toolkit support structured output?
Yes, it supports multiple machine-readable output formats including JSON, XML, YAML, and Markdown.
Can I use Repl Toolkit for remote administration?
Yes, you can host remote interactive REPL sessions using integrations like Telnet or WebSockets.