Token导航 LogoToken导航TokenDH.com
cchttpclient (Druta Tushar) logo
开发工具stdio官方级别未说明来源级核验

cchttpclient (Druta Tushar)

MCP Server

提供可配置的命令行HTTP客户端和模型上下文协议(MCP)服务器,通过共享的JSON配置文件和Markdown文档中的可执行脚本定义行为。

工具数

0

提示词数

0

GitHub Stars

1

资源数

0
命令行工具Python开发工具

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

drutaTushar

提供方

drutaTushar

最后核验

2026/5/17 20:22

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python -m dynamic_cli.cli --config config/cli_config.json storage list my-bucket --prefix images/

详细介绍

动态CLI与MCP服务器

这个项目提供了一个可配置的命令行HTTP客户端,以及一个 模型上下文协议(MCP)服务器。这两个组件从(某个地方)加载其行为 存储在Markdown中的共享JSON配置文件和可执行脚本 文件。

项目布局

config/
  cli_config.json   # Main configuration file shared by CLI and MCP server
  commands.md       # Markdown sections describing command behaviour & scripts
src/dynamic_cli/
  cli.py            # Dynamic Typer-based CLI entry point
  config.py         # Typed configuration loader
  embedding.py      # SQLite-backed embedding store with OpenAI vectors
  markdown_parser.py# Markdown section parser
  mcp_server.py     # FastAPI MCP server
  scripting.py      # Script execution helpers exposed to Markdown sections

配置格式

config/cli_config.json 驱动着CLI(命令行界面)和MCP服务器。最 重要的要点是:

  • markdown_path存储命令描述的Markdown文件的路径

以及请求/响应脚本。

  • commands顶级命令数组。每个命令包含:

- name 并且 help 文本。 - subcommands一个子命令定义的数组。每个子命令 参考文献 a script_section 从Markdown文件中识别并定义 参数元数据以及一个基本的HTTP请求描述。

  • secrets名为秘密描述符。支持的类型包括 envvalue

file,和 command脚本可以通过以下方式请求这些 helpers.secret(name).

  • mcpMCP服务器嵌入式存储的配置。请提供

embedding_model (例如。 text-embedding-3-smallpersist_path 对于 SQLite 缓存,以及 api_key_env/api_base 确定如何称呼的值 OpenAI嵌入式API。

  • http_timeout为出站HTTP请求应用可选的全局超时设置。

参数定义

JSON模式中的参数声明了CLI参数如何映射到HTTP请求 部件:

  • param_typeoption (默认)生成一个 --flag 风格选项; argument

创建一个位置参数。

  • location解析后的值被插入的位置pathqueryheader,或者

json (对于请求体)。

  • target可选地覆盖用于HTTP有效载荷内部的键。
  • type控制CLI解析。支持的原语是 strintfloat

bool,以及 json (该功能将JSON字符串解析为Python字典)。

Markdown中的脚本

Markdown文件被分为多个部分,这些部分由包含三个(某种元素或符号)的行分隔开 连字符。每个部分都以YAML元数据开始(idcommand,以及 subcommand),接着是自由格式的文档说明和一个Python代码块。该 代码必须暴露两个可调用对象:

def prepare(request, helpers):
    """Mutate or replace the outbound HTTP request."""
    return request

def process_response(response, helpers):
    """Post-process the API response before it is returned."""
    return response

这个(或“它”) helpers 脚本内的对象提供:

  • helpers.secret(name)从配置中解析出已命名的密钥(使用

支持环境变量、字面值、文件或shell命令。

  • helpers.env(name, default=None)获取环境变量,使用一个

可选默认值。

  • helpers.json(value)为……提供的便捷封装/包装 json.dumps

脚本可以自由地修改头部信息、查询参数、URL、请求体,甚至 完全重定向请求。任何未处理的异常都会作为命令行界面(CLI)错误显示。

CLI 使用方法

通过指向配置文件来运行CLI:

python -m dynamic_cli.cli --config config/cli_config.json storage list my-bucket --prefix images/

命令行界面(CLI)根据JSON模式构建基础HTTP请求,并执行相关操作 prepare 用于富集的脚本,执行HTTP调用 httpx,然后 将回应交给 process_response 在打印前进行后处理 结果。

MCP服务器

MCP服务器提供了REST端点,供大型语言模型(或其他客户端)使用 检索命令元数据,包括增强的描述和请求模式。 使用以下命令启动它:

python -m dynamic_cli.mcp_server serve --config config/cli_config.json --host 0.0.0.0 --port 8765

关键终点:

  • GET /commands – 列出所有带有模式元数据的命令。
  • POST /query – 基于命令描述的语义搜索。终端点

返回排名匹配的结果,使大型语言模型(LLM)能够选择最合适的命令并 组装一个有效的请求有效载荷。

嵌入是通过OpenAI嵌入REST API生成的,并缓存在一个 本地SQLite数据库。当命令描述或模式发生变化时,仅 受影响的部分会触发一个新的API调用。设置名为 mcp.api_key_env (默认为 OPENAI_API_KEY)。 用于离线开发或 测试,定义 DYNAMIC_CLI_USE_HASH_EMBEDDINGS=1 切换到确定性(模式/方法) 基于哈希的嵌入生成器。

管理界面(或管理用户界面)

导航至 GET /ui 打开一个轻量级的HTML控制面板。它列出了 命令让你能够编辑并持久化共享的配置JSON,同时提供 一个小型的框架,用于在配置好的环境中运行命令/子命令对 脚本用于验证请求增强行为,且无需离开浏览器。

推荐的堆栈(或技术栈)

定义和自动生成帮助文档。

  • HTTP客户端httpx 用于稳健的异步/同步

HTTP请求。

  • Markdown 解析原生解析辅以 PyYAML 用于前面/针对前面

物质处理。

  • 脚本沙盒轻便的 exec基于(某种技术或框架)的加载器,配备有精心挑选的辅助工具

表面(scripting.py)。

  • MCP服务器FastAPI (介词)和;与;带着;用;凭借;具有

Uvicorn(注:Uvicorn是一个用于构建异步ASGI服务器的Python库,直接翻译为中文可能无具体含义,通常保留原名使用) 用于托管,暴露命令 通过简单的REST端点实现检索工具。

  • 向量存储通过自定义SQLite支持的存储库进行填充

OpenAI嵌入式API 支持可选的确定性哈希功能,以便进行离线测试。

这些选择使得整个堆栈以Python为核心,易于部署,并且对用户友好 嵌入式/离线场景。

目录标签

目录标签

命令行工具Python开发工具本地部署HTTP客户端模型上下文协议脚本执行REST服务

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP