关于 Business Request Server
Business Request Server 是供其他 PoC 使用的演示型 MCP 服务,面向开发和概念验证场景。它连接 SQL Server 数据库,并提供业务请求查询与结果筛选功能。
主要功能
- 01连接 SQL Server 数据库
- 02按条件搜索业务请求
- 03选择查询字段
- 04筛选查询结果
- 05支持 Docker 运行
适用场景
- 01在 PoC 中查询业务请求
- 02按标题等字段过滤记录
- 03筛选并查看数据库查询结果
MCP 相关
该 MCP 服务面向 MCP 客户端提供业务请求搜索、字段选择和结果筛选能力。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Business Request Server
供其他 PoC 使用的 MCP 服务演示概念验证
开发者
配置
运行服务或客户端之前,请根据示例创建 .env 文件:
cp .env.example .env
编辑 .env,填写数据库凭据和 Azure OpenAI 设置。
| 变量 | 描述 | 必需 | 默认值 |
|---|---|---|---|
BITS_DB_SERVER | SQL Server 数据库的主机名或 IP 地址。 | 是 | missing.domain |
BITS_DB_USERNAME | 数据库身份验证的用户名。 | 是 | missing.username |
BITS_DB_PWD | 数据库身份验证的密码。 | 是 | missing.password |
BITS_DB_DATABASE | 要连接的特定数据库名称。 | 是 | missing.dbname |
HOST | MCP 服务绑定的主机地址。 | 否 | 0.0.0.0 |
PORT | MCP 服务监听的端口。 | 否 | 8000 |
MCP_SERVER_URL | MCP 服务可访问的 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_ENDPOINT | Azure OpenAI 资源的终结点 URI(供客户端使用)。 | 是(客户端) | - |
AZURE_OPENAI_VERSION | Azure 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
文档
- 使用此教程了解如何构建演示项目。
- FastMCP 文档
- MCP OAuth 2.0 身份验证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。