Token导航 LogoToken导航TokenDH.com
Book API MCP Server Dotnet logo
AI代理stdio官方级别未说明来源级核验

Book API MCP Server Dotnet

MCP Server

一个基于.NET的MCP服务器实现,通过标准化的MCP工具提供对图书API的访问,使AI助手和其他MCP兼容客户端能够通过MCP协议与图书数据进行交互。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
.NET开发PythonClaudeClaude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

0x1D-1983

提供方

0x1D-1983

最后核验

2026/5/17 20:22

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python3 test_mcp.py

详细介绍

预订API MCP服务器(.NET)

中的模型上下文协议(MCP)服务器实现。NET,通过标准化的MCP工具提供对Book API的访问。该服务器使AI助手和其他兼容MCP的客户端能够通过MCP协议与图书数据进行交互。

概述

此MCP服务器充当MCP客户端(如Cursor、Claude Desktop或其他AI助手)与RESTful Book API之间的桥梁。它将图书管理操作作为MCP工具公开,允许客户端通过标准化的MCP协议对图书执行CRUD操作。

这个。此MCP服务器与之交互的.NET Book API后端位于: .

特性

  • ✅ 书籍的完整CRUD操作
  • ✅ 符合MCP协议2024-11-05
  • ✅ 使用Serilog进行结构化日志记录
  • ✅ 依赖注入和配置管理
  • ✅ 具有自动模式生成功能的类型安全工具定义
  • ✅ JSON序列化支持

先决条件

  • .NET 10.0 SDK 或以后
  • 正在运行的Book API实例(默认值: http://localhost:5288)

安装

  1. 克隆存储库:
git clone 
cd book-api-mcp-server-dotnet
  1. 恢复依赖关系:
dotnet restore
  1. 构建项目:
dotnet build

配置

编辑 appsettings.json 要配置服务器,请执行以下操作:

{
  "BookApi": {
    "BaseUrl": "http://localhost:5288"
  },
  "Serilog": {
    "MinimumLevel": {
      "Default": "Debug"
    }
  }
}

关键配置选项

  • BookApi。BaseUrl:Book API终结点的基本URL
  • Serilog:日志记录配置(请参阅 Serilog文档)

使用游标

要将此MCP服务器与Cursor一起使用,请将以下内容添加到您的 ~/.cursor/mcp.json:

{
  "mcpServers": {
    "book-api-mcp-server-dotnet": {
      "command": "dotnet",
      "args": ["run", "--project", "/path/to/book-api-mcp-server-dotnet/BookApiMcpServer.csproj"],
      "env": {}
    }
  }
}

添加配置后,重新启动Cursor以启用MCP服务器。

可用的MCP工具

服务器公开以下工具(自动转换为snake_case):

get_books

从API检索所有书籍。

参数:

退货: 书籍列表(JSON字符串)

get_book_by_id

按ID检索特定书籍。

参数:

  • id (整数,必填):图书ID

退货: 图书对象(JSON字符串)

create_book

创建一本新书。

参数:

  • book (object,必填):具有以下属性的图书对象:

- id (整数) - title (字符串) - author (字符串) - isbn (字符串) - publishedDate (字符串,ISO 8601日期时间) - createdAt (字符串,ISO 8601日期时间)

退货: 已创建图书对象(JSON字符串)

update_book

更新现有书籍。

参数:

  • book (object,必填):具有更新属性的图书对象

退货: 更新的图书对象(JSON字符串)

delete_book

按ID删除书籍。

参数:

  • id (整数,必填):要删除的图书ID

退货: 已删除的图书对象(JSON字符串)

建筑

项目结构

BookApiMcpServer/
├── Models/
│   ├── Book.cs              # Book entity model
│   └── BookApiConfig.cs     # API configuration model
├── Services/
│   └── BookService.cs       # HTTP client service for Book API
├── Tools/
│   └── BookTools.cs         # MCP tool definitions
├── Program.cs               # Application entry point
├── appsettings.json         # Configuration file
└── BookApiMcpServer.csproj  # Project file

关键组件

程序cs

  • 使用stdio传输配置MCP服务器
  • 设置依赖注入
  • 配置Serilog日志记录
  • 从程序集中注册MCP工具

BookTools.cs

  • 使用定义MCP工具 [McpServerTool] 属性
  • 工具会自动被发现和注册
  • 方法名称被转换为snake_case(例如。, GetBooksget_books)
  • 描述用于工具文档

图书服务cs

  • 封装对Book API的HTTP调用
  • 用途 HttpClient 用于API通信
  • 处理JSON序列化/反序列化

模型

  • Books:表示图书实体
  • BookApiConfig.cs:API设置的配置模型

MCP协议集成

服务器使用 ModelContextProtocol NuGet包要:

  • 在stdio上实现JSON-RPC 2.0协议
  • 从方法签名自动生成工具模式
  • 处理请求/响应序列化
  • 支持MCP协议版本2024-11-05

依赖项

  • 微软。扩展。托管 (9.0.10):托管基础设施
  • 模型上下文协议 (0.4.0-preview.3):MCP协议实施
  • Serilog。AspNetCore (8.0.3):结构化日志记录
  • Serilog。设置。配置 (8.0.4):基于配置的日志记录设置
  • Serilog。水槽。控制台 (6.0.0):控制台日志输出

测试

该项目包括验证MCP服务器功能的测试脚本:

测试MCP连接

python3 test_mcp.py

测试获取书籍工具

python3 test_get_books_mcp.py

测试按ID获取图书

python3 test_get_book.py

这些脚本演示了:

  • MCP协议初始化
  • 工具发现
  • 工具调用
  • 响应解析

运行服务器

发展模式

dotnet run

生产构建

dotnet build -c Release
dotnet bin/Release/net10.0/BookApiMcpServer.dll

发布以供分发

dotnet publish -c Release -o ./publish

日志记录

服务器使用Serilog进行结构化日志记录。日志以时间戳和日志级别写入控制台。日志记录配置可以在中进行调整 appsettings.json.

错误处理

  • 记录API连接错误,并将其作为适当的MCP错误响应返回
  • 无效的工具参数会导致验证错误
  • 失败的API调用返回空结果(如果适用)

发展

添加新工具

要添加新的MCP工具:

  1. 添加静态方法 BookTools.cs (或创建新的工具类)
  2. 用…装饰 [McpServerTool][Description("...")] 属性
  3. 工具通过以下方式自动发现 WithToolsFromAssembly()

例子:

[McpServerTool, Description("Search books by title")]
public static async Task
> SearchBooks(
    BookService bookService, 
    string query)
{
    // Implementation
}

项目属性

  • 目标框架: .净值10.0
  • 输出类型:可执行\*\*
  • 隐性使用:已启用
  • 可为空的引用类型:已启用

许可证

\[在此处添加您的许可证信息\]

贡献

\[在此处添加贡献指南\]

目录标签

目录标签

.NET开发PythonClaudeMCP协议本地部署图书管理API桥接CRUD操作

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP