@yqg/mcp-cli
Version:
统一的MCP服务器脚手架工具,支持TypeScript和Python
156 lines (114 loc) • 3.12 kB
Markdown
# Yqg Mcp CLI
统一的 MCP(Model Context Protocol)服务器脚手架工具,支持 TypeScript 和 Python 两种语言。
## 特性
- 🚀 快速创建 MCP 服务器项目
- 🔧 支持 TypeScript 和 Python 两种开发语言
- 📦 预配置的项目结构和依赖
## 安装
### 全局安装
```bash
npm install -g @yqg/mcp-cli
```
## 使用方法
### 交互式创建
```bash
yqg-mcp-cli my-mcp-server
```
工具会引导您完成以下选择:
- 项目名称
- 项目描述
- 开发语言(TypeScript 或 Python)
- 传输模式 (Stdio 或 SSE)
### 命令行参数
```bash
yqg-mcp-cli my-server \
--name "我的MCP服务器" \
--description "一个示例MCP服务器" \
--language typescript \
--transport
```
#### 可用选项
- `-n, --name <name>`: 服务器名称
- `-d, --description <description>`: 服务器描述
- `-l, --language <language>`: 开发语言 (typescript|python)
- `-t, --transport <transport>`: 传输方式 (stdio|sse)
## 生成的项目结构
### TypeScript 项目
```
my-server/
├── package.json
├── tsconfig.json
├── README.md
├── .gitignore
└── src/
├── index.ts
└── utils.ts
```
### Python 项目
```
my-server/
├── pyproject.toml
├── README.md
├── .gitignore
└── src/
└── my_server/
├── __init__.py
├── __main__.py
└── server.py
```
## 开发工作流
### TypeScript
```bash
cd my-server
npm install
npm run build # 构建项目
npm run watch # 监听模式
```
### Python
```bash
cd my-server
uv sync --dev
uv run my-server
```
## 依赖要求
### TypeScript 项目
- Node.js >= 18.0.0
- npm 或 yarn
### Python 项目
- Python >= 3.8
- uv(推荐)或 pip
## 如何使用changesets
- 通过 `changeset` 提供的 `Prereleases` 模式
利用官方提供的 [Prereleases 模式](https://github.com/changesets/changesets/blob/main/docs/prereleases.md),通过 `pre enter <tag>` 命令进入先进入 pre 模式。
常见的tag如下所示:
|名称|功能|
|--|--|
|alpha| 是内部测试版,一般不向外部发布,会有很多Bug,一般只有测试人员使用|
|beta| 也是测试版,这个阶段的版本会一直加入新的功能。在Alpha版之后推出|
|rc| Release Candidate) 系统平台上就是发行候选版本。RC版不会再加入新的功能了,主要着重于除错|
```bash
$ pnpm changeset pre enter beta
```
之后在此模式下的 `changeset publish` 均将默认走 `beta` 环境,下面在此模式下任意的进行你的开发,举一个例子如下:
```bash
# 1-1 进行了一些开发...
# 1-2 提交变更集
pnpm changeset
# 1-3 提升版本
pnpm pkgs-version # changeset version
# 1-4 发包
pnpm release # pnpm build && pnpm changeset publish --registry=...
# 1-5 得到 1.0.0-beta.1
# 2-1 进行了一些开发...
# 2-2 提交变更集
pnpm changeset
# 2-3 提升版本
pnpm pkgs-version
# 2-4 发包
pnpm release
# 2-5 得到 1.0.0-beta.2
```
完成版本发布之后,退出 `Prereleases` 模式:
```bash
$ pnpm changeset pre exit
```