MCP Server
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., "@MCP Serversearch context for 'deployment pipeline'"
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.
MCP Server
Workspace-scoped AI agent infrastructure for .NET — context retrieval, TODO orchestration, session logging, repository operations, GitHub automation, GraphRAG, and agent orchestration over HTTP and MCP STDIO transports.
Key Features
Dual transport — HTTP REST with Swagger UI and MCP-over-STDIO for direct agent integration
Multi-tenant workspaces — single port, workspace isolation via header, API key, or default resolution
Agent orchestration — process-isolated agent pool with branch strategies, PowerShell sessions, and desktop automation
Semantic search — ONNX-based vector embeddings with HNSW indexing, optional GraphRAG enhancement
Requirements traceability — FR/TR/TEST document management with validation and Markdown/ZIP export
Multi-provider storage — SQLite, SQL Server, and PostgreSQL with automatic migrations
REPL CLI tool —
mcpserver-replfor interactive use and agent STDIO access via single-line JSON request envelopesTyped .NET client —
SharpNinja.McpServer.ClientNuGet package covering all API endpoints
Related MCP server: Containerized Strands Agents
Quick Start
# Build
./build.ps1 Compile
# Run
./build.ps1 StartServer --instance default
# Test
./build.ps1 TestOpen Swagger at http://localhost:7147/swagger.
Architecture
src/
McpServer.Support.Mcp ASP.NET Core server (controllers, STDIO host, auth)
McpServer.Client Typed REST client library (NuGet)
McpServer.McpAgent Microsoft Agent Framework integration
McpServer.Repl.Core REPL protocol, request envelopes, trust bootstrap
McpServer.Repl.Host mcpserver-repl CLI tool
McpServer.Services Business logic (ingestion, indexing, TODO, GitHub, agents)
McpServer.Storage EF Core abstraction + vector indexing
McpServer.GraphRag Hybrid semantic search with GraphRAG
McpServer.Cqrs Lightweight async CQRS framework (NuGet)
McpServer.Cqrs.Mvvm MVVM extensions for CQRS
McpServer.Launcher Windows GUI launcher
McpServer.ServiceDefaults Aspire service defaults, OpenTelemetry, health checksTransports
HTTP
./build.ps1 StartServer --instance default
# Listens on http://localhost:7147MCP STDIO
dotnet run --project src/McpServer.Support.Mcp -- --transport stdio --instance defaultREPL
./build.ps1 InstallReplTool
mcpserver-repl --interactive # interactive mode
mcpserver-repl --agent-stdio # STDIO mode for agent integrationDirect --agent-stdio callers send one single-line JSON request envelope per stdin line. Do not send formatted YAML or a type: batch envelope.
API Surface
Route | Capability |
| TODO CRUD, audit history, priority/section filtering, prompt generation |
| Session log upsert, query, full-text search, pagination |
| Hybrid semantic search with GraphRAG, deterministic context packs |
| Agent definitions, workspace config, deployment status |
| Pool lifecycle, health monitoring, process isolation |
| Repository read/list/write with allowlist enforcement |
| FR/TR/TEST documents, validation, Markdown/ZIP export |
| Multi-tenant workspace resolution and management |
| GitHub issues, PRs, workflows, repository metadata |
| Tool capability registration, discovery, schema validation |
| GraphRAG query with mode selection |
| Server-sent events for real-time change notifications |
| Prompt template storage and rendering |
| Voice conversation management |
| Desktop application launch (Windows) |
| Health, version, database connectivity, index status |
| Application configuration retrieval |
| Reverse proxy for agent communication |
| OIDC discovery, device authorization flow, token endpoint |
| Health check |
| OpenAPI documentation |
Configuration
Primary config section: Mcp. Instance overrides under Mcp:Instances:{name}.
{
"Mcp": {
"Port": 7147,
"RepoRoot": ".",
"DataSource": "mcp.db",
"ApiKey": "your-api-key",
"TodoStorage": { "Provider": "yaml" },
"Instances": {
"default": { "Port": 7147, "RepoRoot": "." },
"alt-local": { "Port": 7157, "TodoStorage": { "Provider": "sqlite" } }
}
}
}Environment overrides: PORT (runtime port), MCP_INSTANCE (instance selection).
Authentication
Method | Use Case |
API key | Server-to-server, per-workspace isolation via |
OIDC / Keycloak | External identity provider with JWT Bearer validation and device authorization flow |
Embedded IdentityServer | Local OIDC authority when |
Marker file trust | Cryptographic signature validation for REPL protocol bootstrap |
Storage
Database providers (EF Core with automatic migrations):
Provider | Project |
SQLite (default) |
|
SQL Server |
|
PostgreSQL |
|
TODO items can be stored as YAML files on disk (yaml) or in a SQLite table (sqlite), configured per instance.
Vector indexing uses ONNX Runtime with Sentence Transformer embeddings and HNSW index for semantic search.
Deployment
Method | Details |
Standalone |
|
Windows Service |
|
Docker | Multi-stage build, volumes for |
MSIX |
|
Windows Launcher | GUI application for starting/managing the server |
Build System
Nuke build orchestrator via ./build.ps1 (or ./build.sh on Linux/macOS).
Target | Description |
| Restore + build the solution (default) |
| Run all unit tests |
| Publish server for deployment |
| Build/publish, backup config/data, update the Windows service, restore config/data, and health-check |
| Pack McpServer.Client NuGet package |
| Pack mcpserver-repl to local-packages/ |
| Create MSIX package for Windows |
| Install mcpserver-repl as a global dotnet tool |
| Build and run MCP server |
| Increment patch version in GitVersion.yml |
| Validate appsettings instance configuration |
| Check FR/TR/TEST requirements coverage |
| Two-instance smoke test |
| GraphRAG endpoint smoke test |
| Clean artifacts and solution output |
CI/CD
Platform | File | Jobs |
Azure Pipelines |
| Build, test, publish, MSIX, docs lint, docs build, NuGet publish |
GitHub Actions |
| Build & test, validate, package, MSIX, publish |
Client Library
dotnet add package SharpNinja.McpServer.Clientbuilder.Services.AddMcpServerClient(options =>
{
options.BaseUrl = new Uri("http://localhost:7147");
options.ApiKey = "your-api-key";
});Covers: Todo, Context, SessionLog, GitHub, Repo, Workspace, ToolRegistry, Sync, and more.
Source: src/McpServer.Client/ | Package README
Agent Framework
McpServer.McpAgent integrates with the Microsoft Agent Framework:
builder.Services.AddMcpServerMcpAgent();Built-in MCP tools: mcp_repo_read, mcp_repo_list, mcp_repo_write, mcp_desktop_launch, mcp_powershell_session_*.
Workflows: session log lifecycle, TODO management, requirements ingestion.
Sample host: src/McpServer.McpAgent.SampleHost/
Tests
16 test projects covering unit, integration, and SpecFlow validation:
Build.Tests— build system and configuration (43 tests)McpServer.Support.Mcp.Tests/.IntegrationTests— server API and databaseMcpServer.Client.Tests— REST client serializationMcpServer.McpAgent.Tests— agent workflows and tool adaptersMcpServer.Repl.Core.Tests/.IntegrationTests— REPL protocolMcpServer.Cqrs.Tests— CQRS dispatcher and pipeline7 SpecFlow validation projects (Context, GitHub, Repo, SessionLog, Todo, ToolRegistry, Workspace)
Prerequisites
.NET SDK (version in
global.json)PowerShell 7+ (
pwsh.exe)Optional: Windows SDK (
makeappx.exe) for MSIX, GitHub CLI (gh) for GitHub endpoints
Documentation
Document | Purpose |
End-user setup and usage | |
Operations and configuration | |
NuGet client library usage | |
Migrating to mcpserver-repl | |
Common questions | |
Pre-release verification | |
CI/CD variables and retention |
License
See LICENSE for details.
Shared Plugin Surfaces
This repository is the canonical home for the shared client surfaces used by all McpServer agent plugins:
PowerShell:
tools/powershell/McpRepl(published to PS Gallery asMcpRepl)TypeScript:
tools/typescript/mcp-repl-ts(published to npm as@sharpninja/mcp-repl)
See the respective READMEs in those directories and GROK-USAGE.md in the grok-plugin for usage details.
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.
Latest Blog Posts
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/sharpninja/McpServer'
If you have feedback or need assistance with the MCP directory API, please join our Discord server