Skip to content

feat: CLI 快速启动 MCP 服务器 #1

@xiaotonng

Description

@xiaotonng

功能描述

提供命令行工具,支持快速启动 MCP 服务器,无需编写 Python 代码。

使用场景

# 自动扫描目录中的 LangChain 工具并启动服务器
lc2mcp serve --scan ./tools/

# 从配置文件启动
lc2mcp serve --config mcp.yaml

# 指定模块启动
lc2mcp serve --module my_tools --prefix "my."

# 使用 langchain-community 工具
lc2mcp serve --tools "DuckDuckGoSearchRun,WikipediaQueryRun"

配置文件示例 (mcp.yaml)

server:
  name: "my-mcp-server"
  host: "localhost"
  port: 8000

tools:
  - module: langchain_community.tools
    include: [DuckDuckGoSearchRun, WikipediaQueryRun]
    prefix: "search."
    
  - module: ./my_tools.py
    include: "*"
    prefix: "custom."

options:
  inject_mcp_ctx: true
  on_name_conflict: suffix

实现建议

  1. 使用 clicktyper 作为 CLI 框架
  2. 支持自动发现模块中的 @tool 装饰函数
  3. 支持 YAML/JSON 配置文件
  4. 提供 --dry-run 选项预览将注册的工具
  5. 支持 --verbose 输出详细日志

相关依赖

[project.optional-dependencies]
cli = ["typer>=0.9.0", "pyyaml>=6.0"]

[project.scripts]
lc2mcp = "lc2mcp.cli:app"

任务清单

  • 设计 CLI 命令结构
  • 实现 lc2mcp serve 命令
  • 实现配置文件解析
  • 实现模块自动扫描
  • 添加测试用例
  • 更新文档

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions