使用说明
MCP共享内存服务器用户指南
前言部分
文件标题: MCP共享内存服务器用户指南
文件版本: 1.0.0
文件日期: 2025年12月
文档状态: 发布
产品名称: MCP共享内存服务器
产品版本: 1.0.0
目标受众: 软件开发人员、系统管理员、MCP客户端用户
目的: 本指南提供了在Windows系统上通过共享内存安装、配置和使用MCP共享内存服务器进行进程间通信的说明。
版权声明:
©2025 MCP共享内存服务器项目。保留所有权利。
本文件按“原样”提供,不提供任何形式的保证。
文件惯例:
- 粗体 表示用户界面元素或强调。
Monospace text表示代码、命令或文件名。- ⚠️ 警告 表示潜在的数据丢失或安全风险。
- ℹ️ 备注 提供了更多信息。
- 📋 程序 表示分步说明。
目录
前言部分
- 文档标题、版本和状态。1.
- 版权声明。1.
- 文件惯例。1.
1.导言。2.
- 1.1目的和范围。2.
- 1.2目标受众。2.
- 1.3产品概述。3.
- 1.4相关文件。3.
2.作战概念。4.
- 2.1系统架构。4.
- 2.2操作模式。7.
- 2.3数据流。7.
3.程序。8.
- 3.1系统要求。8.
- 3.2安装程序。8.
- 3.3配置程序。.......................... 10
- 3.4启动程序。................................ 10
- 3.5正常操作程序。...................... 11
- 3.5.1基本内存操作。...................... 11
- 3.5.2类型化数据操作。........................ 12
- 3.6停机程序。............................... 13
4.卸载信息。..................... 14
- 4.1卸载程序。......................... 14
- 4.2卸载后注意事项。............... 14
5.故障排除。................................... 15
- 5.1常见问题及解决方法。...................... 15
- 5.2错误消息和含义。...................... 16
- 5.3诊断程序。............................ 16
6.术语表。........................................... 17
7.索引。.............................................. 19
附录。............................................ 23
- 附录A:MCP工具参考。....................... 23
- 附录B:示例应用程序。....................... 24
1.导言
1.1目的和范围
本用户指南介绍了MCP共享内存服务器,这是一个实现模型上下文协议(MCP)的软件组件,用于管理Windows系统上的共享内存操作。本指南涵盖了服务器的安装、配置、操作和故障排除。
范围包括:
- 系统要求和先决条件
- 安装和设置程序
- 基本和高级使用场景
- 维护与故障排除
- 卸载程序
1.2目标受众
本指南适用于:
- 软件开发人员 需要将共享内存功能集成到其应用程序中的用户
- 系统管理员 负责部署和维护MCP服务器
- 最终用户 MCP兼容客户端应用程序(例如,Claude Desktop、VS Code)
1.3产品概述
MCP共享内存服务器是模型上下文协议(MCP)服务器的高级实现,为Windows应用程序提供全面的共享内存管理功能。该服务器使用官方的MCP C#SDK构建,通过内存映射文件实现安全高效的进程间通信。
主要特点:
- 线程安全共享内存操作
- 类型化数据处理(系统状态、消息、度量)
- MCP协议合规性
- JSON-RPC 2.0通信
- 全面的错误处理和记录
1.4相关文件
2.作战概念
2.1系统架构
MCP共享内存服务器使用模型上下文协议在客户端-服务器架构内运行。该系统由三个主要部分组成:
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ SharedMemoryApp │───▶│ Global Shared │◀───│ McpSharedServer │
│ (Writer) │ │ Memory │ │ (MCP Server) │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│
▼
┌──────────────┐
│ MCP Clients │
│ (Claude, VS │
│ Code, etc.) │
└──────────────┘
共享内存应用程序: A.NET控制台应用程序,将数据写入共享内存。
McpSharedServer: 通过MCP工具公开共享内存操作的MCP服务器。
全局共享内存: 用于进程间通信的Windows内存映射文件。
MCP客户端: 可以调用服务器工具的兼容应用程序。
2.2操作模式
服务器支持两种主要操作模式:
- 独立模式: 服务器独立运行,管理共享内存操作。
- 集成模式: 服务器与MCP兼容的客户端应用程序集成,以增强功能。
2.3数据流
- SharedMemory应用程序将数据写入Windows共享内存。
- McpSharedServer监视和管理共享内存。
- MCP客户端连接到服务器并调用工具读取/写入数据。
- 所有操作都是线程安全的,并具有适当的同步。
3.程序
3.1系统要求
硬件要求:
- Windows操作系统(建议使用Windows 10/11)
- 最低4 GB RAM
- 100 MB可用磁盘空间
软件要求:
- .NET 8.0 SDK或更高版本
- 管理员权限(用于全局共享内存访问)
- MCP兼容客户端应用程序
3.2安装程序
📋 步骤:安装MCP共享内存服务器
-
下载源代码:
git clone <repository-url> cd MCP-Shared-Memory -
安装所需的软件包:
dotnet add package ModelContextProtocol --prerelease dotnet add package Microsoft.Extensions.Hosting -
构建解决方案:
dotnet build -
验证安装:
dotnet run --project SharedMemoryApp/SharedMemoryApp.csproj预期结果:应用程序启动并提供交互式菜单。
3.3配置程序
服务器使用默认配置。对于高级场景:
- 审查
SharedMemoryTools.cs内存大小限制。 - 修改
MaxMemorySize如果需要,则为常量(默认值:1MB)。 - 确保全局共享内存名称匹配:
Global\MCP_SharedMemory.
3.4启动程序
📋 步骤:启动MCP共享内存服务器
- 启动共享内存写入程序(测试时可选):
.net运行--项目SharedMemory应用程序/SharedMemory应用文件.csproj
2. **Start the MCP server:**
```bash
dotnet run --project McpSharedServer/McpSharedServer.csproj
- 验证服务器是否正在运行:
- 服务器应显示启动消息
- 不应出现错误消息
3.5正常操作程序
3.5.1基本内存操作
读取数据:
var result = await client.CallToolAsync("get_shared_memory");
写入数据:
await client.CallToolAsync("write_shared_memory", new()
{
["json_data"] = "{\"status\": \"active\"}"
});
3.5.2类型化数据操作
创建系统状态:
await client.CallToolAsync("create_system_status", new()
{
["status"] = "healthy",
["cpu_usage"] = 45,
["memory_usage"] = 2048576000L
});
发送消息:
await client.CallToolAsync("create_message", new()
{
["content"] = "Hello from MCP client!",
["sender"] = "MCP_Client_1"
});
3.6停机程序
📋 步骤:关闭服务器
-
停止MCP客户端 连接到服务器。
-
终止MCP服务器进程:
- 按
Ctrl+C在运行服务器的终端中 - 或关闭终端窗口
- 按
-
停止共享内存应用程序 (如果正在运行):
- 按
Ctrl+C或关闭应用程序
- 按
4.卸载信息
4.1卸载程序
📋 步骤:卸载MCP共享内存服务器
-
停止所有正在运行的进程:
- 终止任何正在运行的实例
McpSharedServer - 终止任何正在运行的实例
SharedMemoryApp
- 终止任何正在运行的实例
-
删除共享内存资源:
- 进程退出时,Windows会自动清理内存映射文件
- 无需手动清理
-
删除项目文件:
# Navigate to project directory cd MCP-Shared-Memory # Remove build artifacts dotnet clean # Remove entire directory (optional) cd .. rm -rf MCP-Shared-Memory -
删除NuGet包 (如果全局安装):
dotnet nuget locals all --clear
4.2卸载后注意事项
- 共享内存资源由Windows自动释放
- 未修改任何系统注册表项
- 未安装Windows服务
- 项目可以安全删除,没有残留文件
5.故障排除
5.1常见问题及解决方法
问题:启动应用程序时“拒绝访问”
解决方案: 以管理员身份运行应用程序。全局共享内存需要提升权限。
问题:“找不到共享内存”错误
解决方案: 确保SharedMemory App已至少运行一次以创建共享内存段。
问题:服务器无法启动
解决方案: 核实。NET 8.0 SDK已安装,所有依赖项都可用。
问题:超出内存大小限制
解决方案: 减小数据大小或修改 MaxMemorySize 源代码中的常量。
5.2错误信息和含义
"Invalid data size: X"-读取的数据超出预期限制"Memory manager is in read-only mode"-在管理器为只读时尝试写入"Operation failed after all retries"-重试尝试后出现网络或系统错误
5.3诊断程序
📋 步骤:收集诊断信息
-
检查服务器日志:
- 查看控制台输出中的错误消息
- 查找启动确认消息
-
验证共享内存状态:
var info = await client.CallToolAsync("get_shared_memory_info"); -
测试基本连接:
var tools = await client.ListToolsAsync();
6.术语表
MCP(模型上下文协议): 一种开放协议,规范了应用程序如何为大型语言模型提供上下文。
共享内存: 一种可由多个进程访问的内存段,实现进程间通信。
内存映射文件: 一种将文件或内存区域映射到进程地址空间的机制。
JSON-RPC 2.0: 一种用JSON编码的无状态、轻量级远程过程调用协议。
全局共享内存: 在Windows上可在系统范围内访问的共享内存段(需要管理员权限)。
螺纹安全: 允许其在多线程环境中正确运行的代码属性。
7.指标
A.
- 访问控制:第3.5节,附录A
- 管理员权限:第3.1节、第5.1节
- 附录:第8节
- 架构:第2.1节
- 受众,目标:第1.2节
B
- 基本内存操作:附录A第3.5.1节
C
- 客户集成:第3.5节
- 常见问题:第5.1节
- 作战概念:第2节
- 配置:第3.3节
- 公约、文件:前沿问题
- 版权所有:Front Matter
- CPU使用率:第3.5.2节
D
- 数据流:第2.3节
- 数据类型,类型:第3.5.2节,附录A
- 诊断程序:第5.3节
- 文件惯例:前线事务
E
- 错误消息:第5.2节
- 错误处理:第5节
F
- 功能,关键:第1.3节
- 前体:前体
G
- 术语表:第6节
- 全局共享内存:第2.1节,第6节
H
- 硬件要求:第3.1节
一、
- 索引:第7节
- 安装:第3.2节
- 集成模式:第2.2节
- 引言:第1节
J
- JSON-RPC 2.0:第2.3节,第6节
L
- 许可证:附录B(隐含)
M
- MCP客户:第2.1节
- MCP协议:第1.3节、第6节
- MCP工具:第3.5节,附录A
- 内存配置:第3.3节
- 内存大小限制:附录A第3.5节
- 内存映射文件:第6节
- 绩效指标:附录A第3.5.2节
N
- 正常运行:第3.5节
哦
- 操作模式:第2.2节
- 概述,产品:第1.3节
P
- 绩效指标:第3.5.2节
- 先决条件:第3.1节
- 程序:第3节
- 产品概述:第1.3节
- 目的和范围:第1.1节
R
- 相关文件:第1.4节
- 要求、系统:第3.1节
S
- 示例应用程序:附录B
- 范围:第1.1节
- 共享内存:第2.3节,第6节
- 停机程序:第3.6节
- 软件要求:第3.1节
- 独立模式:第2.2节
- 启动程序:第3.4节
- 状态、系统:第3.5.2节,附录A
- 系统管理员:第1.2节
- 系统架构:第2.1节
- 系统要求:第3.1节
T
- 目录:目录
- 目标受众:第1.2节
- 螺纹安全:第1.3节、第6节
- 工具,MCP:第3.5节,附录A
- 故障排除:第5节
- 类型化数据操作:附录A第3.5.2节
U
- 卸载:第4节
- 使用场景:第1.1节
五、
- 版本、文件:前件
- 版本,产品:Front Matter
附录
附录A:MCP工具参考
基本内存操作:
get_shared_memory-从共享内存读取JSON数据write_shared_memory-将JSON数据写入共享内存clear_shared_memory-清除共享内存中的所有数据get_shared_memory_info-返回内存状态信息
类型化数据操作:
create_system_status-创建系统状态数据create_message-创建消息数据create_metrics-创建性能指标数据write_typed_data/read_typed_data-类型化数据操作
附录B:示例应用程序
这 samples/McpSharedMemoryClient/ 该目录包含一个显示JSON-RPC协议模式的演示应用程序。
运行示例:
dotnet run --project samples/McpSharedMemoryClient/McpSharedMemoryClient.csproj
文档结束