Token导航 LogoToken导航TokenDH.com
Agent Harness logo
AI代理stdio官方级别未说明来源级核验

Agent Harness

MCP Server

一个支持MCP服务器、内置原生工具和可插拔LLM后端的CLI代理工具,通过模型上下文协议连接LLM与外部工具,管理代理工具使用循环。

工具数

1

提示词数

0

GitHub Stars

0

资源数

0
工具管理PythonClaude命令行工具Claude

安装说明

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

作者 / 组织

tihanst

提供方

tihanst

最后核验

2026/5/17 20:20

运行时

Python

快速接入

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

命令预览

uv run agent-harness "What time is it?"

详细介绍

特工装备

具有MCP服务器支持、内置本机工具和可插拔LLM后端的CLI代理线束。它通过以下方式将任何支持的LLM连接到外部工具 模型上下文协议 以及进程内本地工具,管理代理工具使用循环,以便LLM可以调用工具、处理结果并迭代以获得答案。

线束本身不包含模型逻辑,它协调LLM和工具之间的连接。

需求

  • Python 3.11+
  • 紫外线 包管理器
  • Node.js/npm(仅当使用通过以下方式运行的MCP服务器时 npx)

快速开始

# One-shot query using Anthropic (default provider)
export ANTHROPIC_API_KEY="your-key"
uv run agent-harness "What time is it?"

# Interactive REPL
uv run agent-harness

# With a config file
uv run agent-harness -c config.json

# Override provider and model
uv run agent-harness -p openai -m gpt-4o "Summarize this project"

配置

代理可以配置JSON文件、CLI标志或两者。CLI标志覆盖配置值。

JSON键CLI标志默认值
provider-p / --provideranthropic
model-m / --model提供程序默认值(硬编码claude-sonnet-4-5-20250929(Anthropic),gpt-4o(OpenAI)
apiKey-k / --api-keyANTHROPIC_API_KEYOPENAI_API_KEY 有人是。
baseUrl-b / --base-url提供程序默认值
systemPrompt-s / --system-promptYou are a helpful assistant.
mcpServers仅配置

示例配置

{
  "provider": "anthropic",
  "model": "claude-sonnet-4-5-20250929",
  "systemPrompt": "You are a helpful assistant.",
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"],
      "env": {}
    }
  }
}

提供商

该线束通过可插拔后端系统支持多个LLM提供程序。Anthropic和OpenAI有专门的实现,因为它们的API在有线格式上有所不同。任何与OpenAI兼容的API(Together.ai、Groq、Ollama等)都通过具有自定义功能的OpenAI提供商工作 base_url.

提供者示例用法
人类学uv run agent-harness -p anthropic -m claude-sonnet-4-5-20250929 "query"
OpenAIuv run agent-harness -p openai -m gpt-4o "query"
Together.aiuv run agent-harness -p together -b https://api.together.xyz/v1 -m meta-llama/Llama-3-70B "query"
Groquv run agent-harness -p groq -b https://api.groq.com/openai/v1 -m llama3-70b-8192 "query"
奥拉马uv run agent-harness -p ollama -b http://localhost:11434/v1 -m llama3 "query"

together, groq,以及 ollama 是OpenAI提供者的别名——它们使用相同的代码,只是指向不同的URL。

MCP服务器

MCP服务器是通过stdio向代理公开工具的外部进程。代理将它们作为子流程生成,在启动时发现它们的工具,并在代理循环期间将工具调用路由到相应的服务器。

任何支持stdio传输的MCP服务器都可以工作。在中配置它们 mcpServers 配置文件的一部分:

{
  "mcpServers": {
    "postgres": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-postgres", "postgresql://localhost/mydb"]
    },
    "huggingface": {
      "command": "npx",
      "args": ["-y", "@llmindset/hf-mcp-server"],
      "env": {
        "HF_TOKEN": "hf_..."
      }
    }
  }
}

如果两个服务器公开了同名工具,则第二个工具将以服务器名称作为前缀(例如。 huggingface__search).

内置原生工具

本机工具在进程内运行,无需外部服务器。在路由工具调用时,在MCP工具之前检查它们。

工具说明
get_current_datetime返回ISO 8601中的当前日期/时间

REPL命令

命令描述
/quit退出REPL
/reset清除对话历史记录

运作原理

  1. CLI解析配置和标志,选择提供程序类并对其进行配置
  2. 生成MCP服务器并发现其工具
  3. 用户的消息与所有可用工具一起发送到LLM
  4. 如果LLM返回工具调用,代理将执行它们(首先是本机工具,然后是MCP),并将结果发送回LLM
  5. 重复步骤3-4,直到LLM返回文本响应(或达到20次迭代)

项目结构

src/agent_harness/
├── cli.py              # Entry point, argument parsing, REPL loop
├── config.py           # Config dataclass and JSON loading
├── agent.py            # Agentic tool-use loop
├── providers/
│   ├── __init__.py     # Provider registry and factory
│   ├── base.py         # LLMProvider ABC and shared data types
│   ├── anthropic.py    # Anthropic Claude implementation
│   └── openai.py       # OpenAI-compatible implementation
├── mcp/
│   └── manager.py      # Multi-server MCP connections and tool routing
└── native_tools/
    ├── registry.py     # NativeTool ABC and registry
    └── builtin/
        └── datetime_tool.py

添加提供者和工具

添加提供者

  1. 子类 LLMProviderproviders/
  2. 实施 configure(), send(), send_streaming(),以及 format_tool_results()
  3. 在中注册 providers/__init__.py: register_provider("name", MyProvider)

添加本机工具

  1. 子类 NativeToolnative_tools/builtin/
  2. 实施 get_tools()call()
  3. 在中注册 cli.py: native_tool_registry.register(MyTool())

贡献者

| :---: | :---: | | 💻 🏗️ | 🤖 💻 📝 |

目录标签

目录标签

工具管理PythonClaude命令行工具LLM集成本地部署CLI工具代理框架MCP协议

支持客户端

Claude

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

1

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP