mcpField
M
mcp-server-demo

mcp-server-demo

本地服务
github.com/dto-btn开发工具06 周前更新

关于 mcp-server-demo

mcp-server-demo 是面向业务请求数据的 MCP 概念验证服务,并配有配置为使用 Azure OpenAI 的客户端。它连接 SQL Server,提供搜索和筛选请求记录的工具。

主要功能

  1. 01连接 SQL Server 数据库
  2. 02搜索业务请求
  3. 03筛选返回结果
  4. 04在本地或 Docker 中运行

适用场景

  1. 01按字段条件查找请求
  2. 02按列值缩小搜索结果
  3. 03测试 MCP 服务和客户端概念验证

MCP 相关

它提供用于搜索业务请求和筛选结果的 MCP 服务,可配置主机、端口和服务 URL。README 还介绍了使用 Azure OpenAI 的客户端。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Business Request Server

供其他 PoC 使用的 MCP 服务演示概念验证

开发者

配置

运行服务或客户端之前,请根据示例创建 .env 文件:

cp .env.example .env

编辑 .env,填写数据库凭据和 Azure OpenAI 设置。

变量描述必需默认值
BITS_DB_SERVERSQL Server 数据库的主机名或 IP 地址。是missing.domain
BITS_DB_USERNAME数据库身份验证的用户名。是missing.username
BITS_DB_PWD数据库身份验证的密码。是missing.password
BITS_DB_DATABASE要连接的特定数据库名称。是missing.dbname
HOSTMCP 服务绑定的主机地址。否0.0.0.0
PORTMCP 服务监听的端口。否8000
MCP_SERVER_URLMCP 服务可访问的 URL(供客户端使用)。否http://127.0.0.1:8000/mcp
CORS_ALLOW_ORIGINS允许连接到 MCP 服务的来源列表,以逗号分隔。否http://localhost,http://127.0.0.1
CORS_ALLOW_CREDENTIALS是否允许在 CORS 请求中使用凭据(Cookie、身份验证标头)。否false
AZURE_OPENAI_ENDPOINTAzure OpenAI 资源的终结点 URI(供客户端使用)。是(客户端)-
AZURE_OPENAI_VERSIONAzure OpenAI 的 API 版本。否2024-05-01-preview
CLIENT_ID用于身份验证的 OAuth2 客户端 ID(实验性)。否-
CLIENT_SECRET用于身份验证的 OAuth2 客户端密钥(实验性)。否-
REDIRECT_URI用于身份验证的 OAuth2 重定向 URI(实验性)。否-
安装
uv venv
uv pip install -e .
# then run it locally
mcp dev server.py
# or alternatively
python server.py

访问显示的 URL,以测试服务。

然后,你可以测试 Templates 等功能,以及 search_business_requests:

将以下内容作为 query 传入:

{
  "query_filters": [
    {
      "name": "BR_SHORT_TITLE",
      "value": "Server",
      "operator": "="
    }
  ]
}

将以下内容作为 select_fields 传入:

{
  "fields": [
    "BR_SHORT_TITLE"
  ]
}

然后,你可以通过 filter_results 筛选结果:

[
  {
    "column": "RPT_GC_ORG_NAME_EN",
    "operator": "contains",
    "value": "Correctional"
  }
]

通过 Docker 运行

docker build -t mcp-bits:local .
docker run -p 8080:8080 --env-file ./.env --name mcp-bits-container mcp-bits:local

pymssql 问题

Mac OSX 上的 pymssql

pymssql 依赖 FreeTDS,因此请确保提前安装:brew install freetds。

之后,如果运行代码时遇到问题,请执行以下操作:

uv pip uninstall pymssql
uv pip install --pre --no-binary :all: pymssql --no-cache --no-build-isolation

你也可以将以下内容添加到 uv 的 pyproject.toml 中:

[tool.uv]
no-binary-package = ["pymssql"]

完成后,应该就可以正常运行了。

注意:已知 cython==3.1.0 存在问题,详见此处

目前可以通过以下方式绕过此问题(问题修复后请移除此内容):

uv pip uninstall pymssql
export CFLAGS="-I$(brew --prefix freetds)/include"
export LDFLAGS="-L$(brew --prefix freetds)/lib"
uv pip install "packaging>=24" "setuptools>=54.0" "setuptools_scm[toml]>=8.0" "wheel>=0.36.2" "Cython==3.0.10" "tomli"
uv pip install --pre --no-binary :all: pymssql --no-cache --no-build-isolation

部署

CI/CD

待办

手动部署

以下说明如何通过 CLI 在 Azure 中手动部署。

az webapp deployment source config-local-git \
  --name <WebAppName> \
  --resource-group <ResourceGroupName>
git remote add azure <GitURLFromPreviousStep>
git push azure main

文档

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。