ProjectDocs服务器
一种模型上下文协议(MCP)服务器,通过标准化协议公开项目文档和资源。此服务器演示如何使用创建MCP服务器。NET 9和C#,提供各种类型的资源,包括静态内容、动态文件访问、项目统计和进度报告操作。
什么是MCP?
模型上下文协议(MCP)是一个开放协议,它规范了应用程序如何向大型语言模型(LLM)提供上下文。此项目实现了一个MCP服务器,该服务器公开了MCP客户端可以使用的与项目相关的资源。
特性
此MCP服务器公开以下资源:
project://readme-返回项目README内容project://config-以JSON格式返回项目配置project://file/{path}-返回指定路径下的文件内容(有安全限制)project://logs/{date}-返回特定日期的应用程序日志(yyyy-MM-dd格式)project://files/list-返回项目中所有文件的列表project://stats-返回项目统计信息(文件计数、大小、时间戳)project://analyze-通过进度报告对项目进行深入分析project://diagram-返回项目架构图(PNG图像)
技术栈
- .NET 9.0 -目标框架
- C#13.0 -程序设计语言
- 模型上下文协议 (v0.4.1-preview.1)-核心MCP协议实现
- 模型上下文协议。AspNetCore (v0.4.1-preview.1)-ASP。NET核心集成
- 微软。扩展。托管 -主机构建器和依赖注入
项目结构
ProjectDocsServer/
├── Program.cs # Entry point and MCP server configuration
├── ProjectResource.cs # Resource implementations
├── ProjectDocsServer.csproj # Project file
└── README.md # This file建设项目
dotnet build运行服务器
dotnet run服务器使用STDIO传输运行,这意味着它通过标准输入/输出进行通信。所有日志记录都指向stderr,以避免干扰MCP协议通信。
使用模型上下文检查器进行测试
这 模型上下文检查器 是一个用于测试和调试MCP服务器的开发工具。以下是测试此服务器的方法:
安装
全局安装模型上下文检查器:
npm install -g @modelcontextprotocol/inspector测试服务器
- 启动检查器:
npx @modelcontextprotocol/inspector dotnet run- 配置服务器连接:
在Inspector UI中,添加服务器配置:
{
"command": "dotnet",
"args": ["run", "--project", "path/to/ProjectDocsServer/ProjectDocsServer.csproj"]
}或者,如果您已经构建了项目:
{
"command": "dotnet",
"args": ["path/to/ProjectDocsServer/bin/Debug/net9.0/ProjectDocsServer.dll"]
}- 连接到服务器:
在检查器界面中单击“连接”。您应该看到服务器初始化和列出的可用资源。
测试资源
连接后,您可以测试每个资源:
测试静态资源
- 自述文件:请求
project://readme获取项目文档 - 配置:请求
project://config获取配置JSON - 统计:请求
project://stats获取项目统计数据
测试动态资源
- 文件访问:请求
project://file/Program.cs读取Program.cs文件 - 日志:请求
project://logs/2024-01-15获取2024年1月15日的日志 - 文件列表:请求
project://files/list查看所有项目文件
