Skip to content

Commit 1923b5a

Browse files
authored
Update README_zh-CN.md
whitespace
1 parent bc8be5a commit 1923b5a

File tree

1 file changed

+54
-54
lines changed

1 file changed

+54
-54
lines changed

README_zh-CN.md

Lines changed: 54 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<p align="center"><a href="https://github.com/tadata-org/fastapi_mcp"><img src="https://github.com/user-attachments/assets/609d5b8b-37a1-42c4-87e2-f045b60026b1" alt="fastapi-to-mcp" height="100"/></a></p>
22
<h1 align="center">FastAPI-MCP</h1>
3-
<p align="center">一个零配置工具,用于自动将FastAPI端点公开为模型上下文协议(MCP)工具。</p>
3+
<p align="center">一个零配置工具,用于自动将 FastAPI 端点公开为模型上下文协议(MCP)工具。</p>
44
<div align="center">
55

66
[![PyPI version](https://badge.fury.io/py/fastapi-mcp.svg)](https://pypi.org/project/fastapi-mcp/)
@@ -16,16 +16,16 @@
1616

1717
## 特点
1818

19-
- **直接集成** - 直接将MCP服务器挂载到您的FastAPI应用
20-
- **零配置** - 只需指向您的FastAPI应用即可工作
21-
- **自动发现**所有FastAPI端点并转换为MCP工具
19+
- **直接集成** - 直接将 MCP 服务器挂载到您的 FastAPI 应用
20+
- **零配置** - 只需指向您的 FastAPI 应用即可工作
21+
- **自动发现** - 所有 FastAPI 端点并转换为 MCP 工具
2222
- **保留模式** - 保留您的请求模型和响应模型的模式
23-
- **保留文档** - 保留所有端点的文档,就像在Swagger中一样
24-
- **灵活部署** - 将MCP服务器挂载到同一应用,或单独部署
23+
- **保留文档** - 保留所有端点的文档,就像在 Swagger 中一样
24+
- **灵活部署** - 将 MCP 服务器挂载到同一应用,或单独部署
2525

2626
## 安装
2727

28-
我们推荐使用[uv](https://docs.astral.sh/uv/)一个快速的Python包安装器
28+
我们推荐使用 [uv](https://docs.astral.sh/uv/)一个快速的 Python 包安装器
2929

3030
```bash
3131
uv add fastapi-mcp
@@ -39,7 +39,7 @@ pip install fastapi-mcp
3939

4040
## 基本用法
4141

42-
使用FastAPI-MCP的最简单方法是直接将MCP服务器添加到您的FastAPI应用中
42+
使用 FastAPI-MCP 的最简单方法是直接将 MCP 服务器添加到您的 FastAPI 应用中
4343

4444
```python
4545
from fastapi import FastAPI
@@ -51,44 +51,44 @@ mcp = FastApiMCP(
5151
app,
5252

5353
# 可选参数
54-
name="我的API MCP",
55-
description="我的API描述",
54+
name="我的 API MCP",
55+
description="我的 API 描述",
5656
base_url="http://localhost:8000",
5757
)
5858

59-
# 直接将MCP服务器挂载到您的FastAPI应用
59+
# 直接将 MCP 服务器挂载到您的 FastAPI 应用
6060
mcp.mount()
6161
```
6262

63-
就是这样!您的自动生成的MCP服务器现在可以在`https://app.base.url/mcp`访问。
63+
就是这样!您的自动生成的 MCP 服务器现在可以在 `https://app.base.url/mcp` 访问。
6464

65-
> **关于`base_url`的注意事项**:虽然`base_url`是可选的,但强烈建议您明确提供它。`base_url`告诉MCP服务器在调用工具时向何处发送API请求。如果不提供,库将尝试自动确定URL,这在部署环境中内部和外部URL不同时可能无法正确工作
65+
> **关于`base_url`的注意事项**:虽然`base_url`是可选的,但强烈建议您明确提供它。`base_url` 告诉 MCP 服务器在调用工具时向何处发送 API 请求。如果不提供,库将尝试自动确定URL,这在部署环境中内部和外部 URL 不同时可能无法正确工作
6666
6767
## 工具命名
6868

69-
FastAPI-MCP使用FastAPI路由中的`operation_id`作为MCP工具的名称。如果您不指定`operation_id`FastAPI会自动生成一个,但这些名称可能比较晦涩。
69+
FastAPI-MCP 使用 FastAPI 路由中的`operation_id`作为 MCP 工具的名称。如果您不指定`operation_id`FastAPI 会自动生成一个,但这些名称可能比较晦涩。
7070

7171
比较以下两个端点定义:
7272

7373
```python
74-
# 自动生成的operation_id(类似于"read_user_users__user_id__get")
74+
# 自动生成的 operation_id(类似于 "read_user_users__user_id__get")
7575
@app.get("/users/{user_id}")
7676
async def read_user(user_id: int):
7777
return {"user_id": user_id}
7878

79-
# 显式operation_id(工具将被命名为"get_user_info")
79+
# 显式operation_id(工具将被命名为 "get_user_info")
8080
@app.get("/users/{user_id}", operation_id="get_user_info")
8181
async def read_user(user_id: int):
8282
return {"user_id": user_id}
8383
```
8484

85-
为了获得更清晰、更直观的工具名称,我们建议在FastAPI路由定义中添加显式的`operation_id`参数。
85+
为了获得更清晰、更直观的工具名称,我们建议在 FastAPI 路由定义中添加显式的`operation_id`参数。
8686

87-
要了解更多信息,请阅读FastAPI官方文档中关于[路径操作的高级配置](https://fastapi.tiangolo.com/advanced/path-operation-advanced-configuration/)的部分。
87+
要了解更多信息,请阅读 FastAPI 官方文档中关于 [路径操作的高级配置](https://fastapi.tiangolo.com/advanced/path-operation-advanced-configuration/)的部分。
8888

8989
## 高级用法
9090

91-
FastAPI-MCP提供了多种方式来自定义和控制MCP服务器的创建和配置。以下是一些高级用法模式:
91+
FastAPI-MCP 提供了多种方式来自定义和控制 MCP 服务器的创建和配置。以下是一些高级用法模式:
9292

9393
### 自定义模式描述
9494

@@ -100,18 +100,18 @@ app = FastAPI()
100100

101101
mcp = FastApiMCP(
102102
app,
103-
name="我的API MCP",
103+
name="我的 API MCP",
104104
base_url="http://localhost:8000",
105105
describe_all_responses=True, # 在工具描述中包含所有可能的响应模式
106-
describe_full_response_schema=True # 在工具描述中包含完整的JSON模式
106+
describe_full_response_schema=True # 在工具描述中包含完整的 JSON 模式
107107
)
108108

109109
mcp.mount()
110110
```
111111

112-
### 自定义暴露的端点
112+
### 自定义公开的端点
113113

114-
您可以使用Open API操作ID或标签来控制哪些FastAPI端点暴露为MCP工具
114+
您可以使用 Open API 操作 ID 或标签来控制哪些 FastAPI 端点暴露为 MCP 工具
115115

116116
```python
117117
from fastapi import FastAPI
@@ -143,7 +143,7 @@ mcp = FastApiMCP(
143143
exclude_tags=["admin", "internal"]
144144
)
145145

146-
# 结合操作ID和标签(包含模式)
146+
# 结合操作 ID 和标签(包含模式)
147147
mcp = FastApiMCP(
148148
app,
149149
include_operations=["user_login"],
@@ -159,40 +159,40 @@ mcp.mount()
159159
- 您可以将操作过滤与标签过滤结合使用(例如,使用`include_operations``include_tags`
160160
- 当结合过滤器时,将采取贪婪方法。匹配任一标准的端点都将被包含
161161

162-
### 与原始FastAPI应用分开部署
162+
### 与原始 FastAPI 应用分开部署
163163

164-
您不限于在创建MCP的同一个FastAPI应用上提供MCP服务
164+
您不限于在创建 MCP 的同一个 FastAPI 应用上提供 MCP 服务
165165

166-
您可以从一个FastAPI应用创建MCP服务器,并将其挂载到另一个应用上:
166+
您可以从一个 FastAPI 应用创建 MCP 服务器,并将其挂载到另一个应用上:
167167

168168
```python
169169
from fastapi import FastAPI
170170
from fastapi_mcp import FastApiMCP
171171

172-
# 您的API应用
172+
# 您的 API 应用
173173
api_app = FastAPI()
174-
# ... 在api_app上定义您的API端点 ...
174+
# ... 在 api_app 上定义您的 API 端点 ...
175175

176-
# 一个单独的MCP服务器应用
176+
# 一个单独的 MCP 服务器应用
177177
mcp_app = FastAPI()
178178

179-
# 从API应用创建MCP服务器
179+
# 从 API 应用创建 MCP 服务器
180180
mcp = FastApiMCP(
181181
api_app,
182182
base_url="http://api-host:8001", # API应用将运行的URL
183183
)
184184

185-
# 将MCP服务器挂载到单独的应用
185+
# 将 MCP 服务器挂载到单独的应用
186186
mcp.mount(mcp_app)
187187

188188
# 现在您可以分别运行两个应用:
189189
# uvicorn main:api_app --host api-host --port 8001
190190
# uvicorn main:mcp_app --host mcp-host --port 8000
191191
```
192192

193-
### 在MCP服务器创建后添加端点
193+
### 在 MCP 服务器创建后添加端点
194194

195-
如果您在创建MCP服务器后向FastAPI应用添加端点,您需要刷新服务器以包含它们:
195+
如果您在创建 MCP 服务器后向 FastAPI 应用添加端点,您需要刷新服务器以包含它们:
196196

197197
```python
198198
from fastapi import FastAPI
@@ -201,44 +201,44 @@ from fastapi_mcp import FastApiMCP
201201
app = FastAPI()
202202
# ... 定义初始端点 ...
203203

204-
# 创建MCP服务器
204+
# 创建 MCP 服务器
205205
mcp = FastApiMCP(app)
206206
mcp.mount()
207207

208-
# 在MCP服务器创建后添加新端点
208+
# 在 MCP 服务器创建后添加新端点
209209
@app.get("/new/endpoint/", operation_id="new_endpoint")
210210
async def new_endpoint():
211211
return {"message": "Hello, world!"}
212212

213-
# 刷新MCP服务器以包含新端点
213+
# 刷新 MCP 服务器以包含新端点
214214
mcp.setup_server()
215215
```
216216

217217
## 示例
218218

219-
请参阅[examples](examples)目录以获取完整示例。
219+
请参阅 [examples](examples) 目录以获取完整示例。
220220

221-
## 使用SSE连接到MCP服务器
221+
## 使用 SSE 连接到 MCP 服务器
222222

223-
一旦您的集成了MCP的FastAPI应用运行,您可以使用任何支持SSE的MCP客户端连接到它,例如Cursor
223+
一旦您的集成了 MCP 的 FastAPI 应用运行,您可以使用任何支持 SSE 的 MCP 客户端连接到它,例如 Cursor
224224

225225
1. 运行您的应用。
226226

227-
2. 在Cursor -> 设置 -> MCP中,使用您的MCP服务器端点的URL(例如,`http://localhost:8000/mcp`作为sse
227+
2. 在 Cursor -> 设置 -> MCP 中,使用您的 MCP 服务器端点的URL(例如,`http://localhost:8000/mcp`作为 sse
228228

229-
3. Cursor将自动发现所有可用的工具和资源
229+
3. Cursor 将自动发现所有可用的工具和资源
230230

231-
## 使用[mcp-proxy stdio](https://github.com/sparfenyuk/mcp-proxy?tab=readme-ov-file#1-stdio-to-sse)连接到MCP服务器
231+
## 使用 [mcp-proxy stdio](https://github.com/sparfenyuk/mcp-proxy?tab=readme-ov-file#1-stdio-to-sse) 连接到 MCP 服务器
232232

233-
如果您的MCP客户端不支持SSE,例如Claude Desktop:
233+
如果您的 MCP 客户端不支持 SSE,例如 Claude Desktop:
234234

235235
1. 运行您的应用。
236236

237-
2. 安装[mcp-proxy](https://github.com/sparfenyuk/mcp-proxy?tab=readme-ov-file#installing-via-pypi),例如:`uv tool install mcp-proxy`
237+
2. 安装 [mcp-proxy](https://github.com/sparfenyuk/mcp-proxy?tab=readme-ov-file#installing-via-pypi),例如:`uv tool install mcp-proxy`
238238

239-
3. 在Claude Desktop的MCP配置文件`claude_desktop_config.json`)中添加:
239+
3. 在 Claude Desktop 的 MCP 配置文件`claude_desktop_config.json`)中添加:
240240

241-
在Windows上
241+
在 Windows 上
242242
```json
243243
{
244244
"mcpServers": {
@@ -249,7 +249,7 @@ mcp.setup_server()
249249
}
250250
}
251251
```
252-
在MacOS上
252+
在 MacOS 上
253253
```json
254254
{
255255
"mcpServers": {
@@ -260,19 +260,19 @@ mcp.setup_server()
260260
}
261261
}
262262
```
263-
通过在终端运行`which mcp-proxy`来找到mcp-proxy的路径
263+
通过在终端运行`which mcp-proxy`来找到 mcp-proxy 的路径
264264

265-
4. Claude Desktop将自动发现所有可用的工具和资源
265+
4. Claude Desktop 将自动发现所有可用的工具和资源
266266

267267
## 开发和贡献
268268

269-
感谢您考虑为FastAPI-MCP做出贡献!我们鼓励社区发布问题和拉取请求。
269+
感谢您考虑为 FastAPI-MCP 做出贡献!我们鼓励社区发布问题和拉取请求。
270270

271-
在开始之前,请参阅我们的[贡献指南](CONTRIBUTING.md)
271+
在开始之前,请参阅我们的 [贡献指南](CONTRIBUTING.md)
272272

273273
## 社区
274274

275-
加入[MCParty Slack社区](https://join.slack.com/t/themcparty/shared_invite/zt-30yxr1zdi-2FG~XjBA0xIgYSYuKe7~Xg)与其他MCP爱好者联系,提问,并分享您使用FastAPI-MCP的经验
275+
加入 [MCParty Slack 社区](https://join.slack.com/t/themcparty/shared_invite/zt-30yxr1zdi-2FG~XjBA0xIgYSYuKe7~Xg)与其他 MCP 爱好者联系,提问,并分享您使用 FastAPI-MCP 的经验
276276

277277
## 要求
278278

@@ -281,4 +281,4 @@ mcp.setup_server()
281281

282282
## 许可证
283283

284-
MIT许可证。版权所有 (c) 2024 Tadata Inc.
284+
MIT License. Copyright (c) 2024 Tadata Inc.

0 commit comments

Comments
 (0)