Token导航 LogoToken导航TokenDH.com
Book API MCP Docker Compose Bundle logo
开发工具未说明官方级别未说明来源级核验

Book API MCP Docker Compose Bundle

MCP Server

一个完整的Docker Compose设置,用于运行图书API及其MCP服务器,包括所有必需的基础设施。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
数据分析ShellClaudeAPI集成Claude DesktopClaude

安装说明

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

作者 / 组织

0x1D-1983

提供方

0x1D-1983

最后核验

2026/5/17 20:21

快速接入

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

详细介绍

预订API MCP捆绑包

该捆绑包提供了一个完整的Docker Compose设置,用于运行Book API及其MCP(模型上下文协议)服务器,以及所有所需的基础设施。

仓库

  • 预订API MCP服务器:
  • API书:

概述

docker-compose.yml file协调了四个服务,它们协同工作以提供完整的Book API生态系统:

  1. 时序数据库 -一个带有TimescaleDB扩展的PostgreSQL数据库用于数据存储
  2. pgAdmin -基于Web的数据库管理工具
  3. BookApi -主要的ASP。NET核心REST API用于管理书籍
  4. bookapi mcp服务器 -向Claude Desktop公开Book API的MCP服务器

服务

时序数据库

PostgreSQL 17上运行的具有TimescaleDB扩展的PostgreSQL数据库。

  • 图像: timescale/timescaledb-ha:pg17
  • 数据库: propertydb (注:BookApi连接到 bookapi 数据库)
  • 用户: admin
  • 密码:空(未设置密码)
  • 健康检查:每10秒监控一次数据库准备情况
  • 数据持久层:使用Docker卷(postgres-data)保存数据

pgAdmin

用于管理数据库的基于Web的PostgreSQL管理界面。

  • 图像: dpage/pgadmin4
  • 访问: http://localhost:5050
  • 电子邮件: admin@admin.com
  • 密码:空(未设置密码)
  • 依赖项:等待TimescaleDB准备就绪

使用pgAdmin:

  • 跑吧 books-data.sql 用于设置数据库模式的脚本
  • 创建 bookapi 数据库
  • 管理和查询账簿数据

BookApi

../BookApi 目录。

  • 构建上下文: ../BookApi
  • 环境:发展
  • 连接字符串:连接到TimescaleDB timescaledb:5432 使用 bookapi 数据库
  • 依赖项:等待TimescaleDB准备就绪

API提供了用于管理书籍(CRUD操作)的端点。

bookapi mcp服务器

将Claude Desktop与Book API连接起来的MCP服务器。

  • 构建上下文: ../book-api-mcp-server-dotnet
  • 环境:将书籍API基本URL配置为 http://bookapi:8080
  • 依赖项:等待BookApi准备就绪

该服务通过模型上下文协议公开了书籍API功能,允许Claude Desktop与书籍数据库进行交互。

用法

启动服务

docker-compose up -d

这将以分离模式启动所有服务。服务将按依赖顺序启动:

  1. TimescaleDB优先
  2. pgAdmin(等待TimescaleDB)
  3. BookApi(等待TimescaleDB)
  4. bookapi-mcp服务器(等待bookapi)

设置数据库

  1. 访问pgAdminhttp://localhost:5050
  2. 使用登录 admin@admin.com (无密码)
  3. 添加新的服务器连接:

- 主持人: timescaledb - 端口: 5432 - 数据库: propertydb (初始连接) - 用户名: admin - 密码:(留空)

  1. 创建 bookapi 数据库(或使用SQL脚本)
  2. 跑吧 books-data.sql 脚本在 bookapi 用于创建模式和示例数据的数据库

停止服务

docker-compose down

还要删除卷(⚠️ 这将删除所有数据):

docker-compose down -v

查看日志

查看所有服务的日志:

docker-compose logs -f

查看特定服务的日志:

docker-compose logs -f bookapi

配置

环境变量

  • 时序数据库:使用默认的PostgreSQL环境变量
  • BookApi:连接字符串是通过配置的 ConnectionStrings__DefaultConnection
  • bookapi mcp服务器:书籍API URL通过配置 BookApi__BaseUrl

创建了两个命名卷:

  • postgres-data:存储TimescaleDB数据(在容器重新启动时保持不变)
  • pgadmin_data:存储pgAdmin配置和设置

网络

所有服务都在默认的Docker Compose网络上运行。, timescaledb, bookapi).

备注

  • 默认情况下,数据库密码为空。对于生产使用,请在环境变量中设置安全密码。
  • BookApi服务连接到名为的数据库 bookapi,但TimescaleDB初始化为 propertydb。您需要创建 bookapi 手动或通过SQL脚本创建数据库。
  • 端口上可以访问pgAdmin界面 5050 在您的主机上。

使用Skaffold和Minikube(Kubernetes)运行

1.创建自签名TLS证书和私钥

在Kubernetes中运行Envoy之前,生成用于服务加密的TLS证书:

openssl req -x509 -newkey rsa:4096 -nodes -sha256 -days 365 \
    -keyout privkey.pem -out cert.pem -extensions san \
    -config \
    <(echo "[req]";
      echo distinguished_name=req;
      echo "[san]";
      echo subjectAltName=DNS:bookapi-mcp-server.default.svc.cluster.local
     ) \
    -subj '/CN=bookapi-mcp-server.default.svc.cluster.local'

这产生 cert.pemprivkey.pem 供Envoy用于终止TLS。

2.为Envoy创建Kubernetes Secret

将这些文件存储为Kubernetes TLS密钥,以便Envoy挂载:

kubectl create secret tls envoy-certs \
    --key privkey.pem --cert cert.pem \
    --dry-run=client --output yaml | kubectl apply --filename -

3.启动Minikube(如果尚未运行)

minikube start

通过以下方式检查状态:

minikube status

要使用Minikube的内部Docker注册表进行本地构建,请执行以下操作:

eval $(minikube docker-env)

4.使用Skaffold构建和部署所有服务

从项目根:

skaffold run --tail

这将构建所有服务(TimescaleDB、BookApi、MCP Server、Envoy等)并将其部署到Minikube集群中。

5.通过LoadBalancer和隧道暴露Envoy

Envoy作为Kubernetes LoadBalancer服务公开。要从本地计算机访问它,请运行:

minikube tunnel

此命令继续运行并公开 LoadBalancer 本地IP上的服务。

隧道运行后,找到Envoy服务的外部IP和端口:

kubectl get svc

寻找 envoy 服务——通常在端口443上公开。

6.停止Minikube并清理

完成后:

minikube stop

…停止集群。要删除所有群集资源,请执行以下操作:

minikube delete

附加说明

  • 除非在Kubernetes清单中使用持久卷,否则数据库不会持久化在Minikube中。
  • 如果你在本地进行测试,你可能需要使用以下命令转发特定的服务(如TimescaleDB或pgAdmin) kubectl port-forward 用于本地调试。
  • 确保数据库连接或API URL的任何环境变量反映Kubernetes服务名称(例如。, bookapi, timescaledb).

请参阅 k8s/ 用于配置和根据本地环境的需要进行自定义的目录。

目录标签

目录标签

数据分析ShellClaudeAPI集成本地部署图书管理RESTAPIDockerCompose数据库管理MCP协议

支持客户端

Claude DesktopClaude

接入字段

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

未说明

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

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明none部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP