业务请求服务器
演示PoC MCP服务器,用于其他PoC
开发
配置
在运行服务器或客户端之前,创建 .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、auth标头)。 | 没有 | 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以测试您的服务器。
然后,您可以测试模板等功能,然后 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:localpymssql问题
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 \
--resource-group
git remote add azure
git push azure main文档
- 使用此 作为如何构建演示的教程。
- FastMCP文档
- MCP OAuth 2.0身份验证
