MCP Server

MCP Server

Workspace-scoped AI agent infrastructure for .NET enabling context retrieval, TODO orchestration, session logging, repository operations, GitHub automation, GraphRAG, and agent orchestration over HTTP and MCP STDIO transports.

Category
访问服务器

README

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 toolmcpserver-repl for interactive use and agent STDIO access via single-line JSON request envelopes
  • Typed .NET clientSharpNinja.McpServer.Client NuGet package covering all API endpoints

Quick Start

# Build
./build.ps1 Compile

# Run
./build.ps1 StartServer --instance default

# Test
./build.ps1 Test

Open 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 checks

Transports

HTTP

./build.ps1 StartServer --instance default
# Listens on http://localhost:7147

MCP STDIO

dotnet run --project src/McpServer.Support.Mcp -- --transport stdio --instance default

REPL

./build.ps1 InstallReplTool
mcpserver-repl --interactive              # interactive mode
mcpserver-repl --agent-stdio              # STDIO mode for agent integration

Direct --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
/mcpserver/todo TODO CRUD, audit history, priority/section filtering, prompt generation
/mcpserver/sessionlog Session log upsert, query, full-text search, pagination
/mcpserver/context Hybrid semantic search with GraphRAG, deterministic context packs
/mcpserver/agents Agent definitions, workspace config, deployment status
/mcpserver/agent-pool Pool lifecycle, health monitoring, process isolation
/mcpserver/repo Repository read/list/write with allowlist enforcement
/mcpserver/requirements FR/TR/TEST documents, validation, Markdown/ZIP export
/mcpserver/workspace Multi-tenant workspace resolution and management
/mcpserver/gh GitHub issues, PRs, workflows, repository metadata
/mcpserver/tools Tool capability registration, discovery, schema validation
/mcpserver/graphrag GraphRAG query with mode selection
/mcpserver/events Server-sent events for real-time change notifications
/mcpserver/templates Prompt template storage and rendering
/mcpserver/voice Voice conversation management
/mcpserver/desktop Desktop application launch (Windows)
/mcpserver/diagnostic Health, version, database connectivity, index status
/mcpserver/configuration Application configuration retrieval
/mcpserver/tunnel Reverse proxy for agent communication
/auth OIDC discovery, device authorization flow, token endpoint
/health Health check
/swagger 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 X-Workspace-Path header
OIDC / Keycloak External identity provider with JWT Bearer validation and device authorization flow
Embedded IdentityServer Local OIDC authority when Mcp:IdentityServer:Enabled = true
Marker file trust Cryptographic signature validation for REPL protocol bootstrap

Storage

Database providers (EF Core with automatic migrations):

Provider Project
SQLite (default) McpServer.Storage.SqliteMigrations
SQL Server McpServer.Storage.SqlServerMigrations
PostgreSQL McpServer.Storage.PostgreSqlMigrations

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 ./build.ps1 StartServer or dotnet run
Windows Service ./build.ps1 UpdateService through the Nuke build; do not manually redeploy service files
Docker Multi-stage build, volumes for /data and /workspace
MSIX ./build.ps1 PackageMsix for Windows app package
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
Compile Restore + build the solution (default)
Test Run all unit tests
Publish Publish server for deployment
UpdateService Build/publish, backup config/data, update the Windows service, restore config/data, and health-check
PackNuGet Pack McpServer.Client NuGet package
PackReplTool Pack mcpserver-repl to local-packages/
PackageMsix Create MSIX package for Windows
InstallReplTool Install mcpserver-repl as a global dotnet tool
StartServer Build and run MCP server
BumpVersion Increment patch version in GitVersion.yml
ValidateConfig Validate appsettings instance configuration
ValidateTraceability Check FR/TR/TEST requirements coverage
TestMultiInstance Two-instance smoke test
TestGraphRagSmoke GraphRAG endpoint smoke test
Clean Clean artifacts and solution output

CI/CD

Platform File Jobs
Azure Pipelines azure-pipelines.yml Build, test, publish, MSIX, docs lint, docs build, NuGet publish
GitHub Actions .github/workflows/build.yml Build & test, validate, package, MSIX, publish

Client Library

dotnet add package SharpNinja.McpServer.Client
builder.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 database
  • McpServer.Client.Tests — REST client serialization
  • McpServer.McpAgent.Tests — agent workflows and tool adapters
  • McpServer.Repl.Core.Tests / .IntegrationTests — REPL protocol
  • McpServer.Cqrs.Tests — CQRS dispatcher and pipeline
  • 7 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
User Guide End-user setup and usage
Server Guide Operations and configuration
Client Integration NuGet client library usage
REPL Migration Guide Migrating to mcpserver-repl
FAQ Common questions
Release Checklist Pre-release verification
Azure Pipelines 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 as McpRepl)
  • 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.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选