内容
# MCP Server
该项目是一个 MCP (Model Context Protocol) 服务器,针对给定的 OpenAPI URL - https://api.apis.guru/v2/specs/amentum.space/aviation_radiation/1.5.0/openapi.json,使用 AG2 的 [MCP builder](https://mcp.ag2.ai) 自动生成。
## 先决条件
* Python 3.9+
* pip 和 uv
## 安装
1. 克隆代码库:
```sh
git clone <repository-url>
cd mcp-server
```
2. 安装依赖:
[.devcontainer/setup.sh](.devcontainer/setup.sh) 脚本负责使用 `pip install -e ".[dev]"` 安装依赖。如果您不使用开发容器,可以手动运行此命令。
```sh
pip install -e ".[dev]"
```
或者,您可以使用 `uv`:
```sh
uv pip install --editable ".[dev]"
```
## 开发
该项目使用 `ruff` 进行代码检查和格式化,使用 `mypy` 进行静态类型检查,使用 `pytest` 进行测试。
### 代码检查和格式化
检查代码中的 linting 问题:
```sh
ruff check
```
格式化代码:
```sh
ruff format
```
这些命令也可以通过 [scripts/lint.sh](scripts/lint.sh) 脚本使用。
### 静态分析
运行静态分析(mypy, bandit, semgrep):
```sh
./scripts/static-analysis.sh
```
该脚本也被配置为 [.pre-commit-config.yaml](.pre-commit-config.yaml) 中的预提交钩子。
### 运行测试
运行带有覆盖率的测试:
```sh
./scripts/test.sh
```
这将运行 pytest 并生成覆盖率报告。要生成合并报告并进行清理,可以使用:
```sh
./scripts/test-cov.sh
```
### 预提交钩子
该项目使用 [.pre-commit-config.yaml](.pre-commit-config.yaml) 中定义的预提交钩子。要安装钩子:
```sh
pre-commit install
```
钩子将在每次提交之前自动运行。
## 运行服务器
可以使用 [mcp_server/main.py](mcp_server/main.py) 脚本启动 MCP 服务器。它支持不同的传输模式(例如,`stdio`、`sse`、`streamable-http`)。
启动服务器(例如,在 stdio 模式下):
```sh
python mcp_server/main.py stdio
```
服务器可以通过环境变量进行配置:
* `CONFIG_PATH`:指向 JSON 配置文件的路径(例如,[mcp_server/mcp_config.json](mcp_server/mcp_config.json))。
* `CONFIG`:包含配置的 JSON 字符串。
* `SECURITY`:安全参数的环境变量(例如,API 密钥)。
有关这些变量如何加载的详细信息,请参阅 [mcp_server/main.py](mcp_server/main.py) 中的 `if __name__ == "__main__":` 块。
[test/test_mcp_server.py](tests/test_mcp_server.py) 文件演示了如何以编程方式启动和与服务器交互以进行测试。
## 构建和发布
该项目使用 Hatch 进行构建和发布。
构建项目:
```sh
hatch build
```
发布项目:
```sh
hatch publish
```
这些命令也可以通过 [scripts/publish.sh](scripts/publish.sh) 脚本使用。
连接信息
猜你喜欢
everything-claude-code
完整的 Claude Code 配置集合 - agents、skills、hooks、commands、rules、MCPs。来自 Anthropic...
Firecrawl
Firecrawl MCP Server 实现了网页抓取、爬虫和内容提取功能。
MarkItDown MCP
MarkItDown-MCP是一个轻量级服务器,用于将URI转换为Markdown。
cc-switch
跨平台的Claude Code、Codex和Gemini CLI一体化助手。
Agent-Reach
赋予你的AI Agent观察整个互联网的眼睛。读取并搜索...
servers
# 模型上下文协议服务器