Agentic MCP Client

Agentic MCP Client

一个独立的代理运行器,它使用 MCP(模型上下文协议)工具,通过 Anthropic Claude、AWS BedRock 和 OpenAI API 执行任务。它使 AI 代理能够在云环境中自主运行,并安全地与各种系统交互。

peakmojo

开发者工具
访问服务器

README

Agentic MCP 客户端

<p> <a href="LICENSE"><img alt="Static Badge" src="https://img.shields.io/badge/license-Apache%202.0-blue.svg?style=flat"></a> </p>

一个独立的 Agent 运行器,它使用 MCP(模型上下文协议)工具通过 Anthropic Claude、AWS BedRock 和 OpenAI API 执行任务。它使 AI Agent 能够在云环境中自主运行,并与各种系统安全地交互。

当前特性

  • 运行独立的 Agent,任务在 JSON 配置文件中定义
  • 支持 Anthropic Claude 和 OpenAI 模型
  • 自动工具发现和执行
  • 会话日志记录,用于跟踪 Agent 进度
  • 可配置的系统提示和模型参数
  • 支持 MCP 采样
  • 最大迭代控制,以防止无限循环

安装

  1. 克隆仓库

  2. 设置依赖项:

uv sync
  1. 创建 agent_worker_task.json 文件

这是一个示例配置文件:

{
    "task": "找到当前目录中的所有图像文件,并告诉我它们的大小",
    "model": "claude-3-7-sonnet-20250219",
    "system_prompt": "你是一个乐于助人的助手,使用可用的工具完成任务。",
    "verbose": true,
    "max_iterations": 10
}
  1. 运行 Agent:
uv run agentic_mcp_client/agent_worker/run.py

配置

该项目需要在根目录中有一个 config.json 文件,以定义推理服务器设置和可用的 MCP 工具。这是一个示例配置:

{
   "inference_server": {
      "base_url": "https://api.anthropic.com/v1/",
      "api_key": "YOUR_API_KEY_HERE",
      "use_bedrock": true,
      "aws_region": "us-east-1",
      "aws_access_key_id": "YOUR_AWS_ACCESS_KEY",
      "aws_secret_access_key": "YOUR_AWS_SECRET_KEY"
   },
   "mcp_servers": {
    "mcp-remote-macos-use": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "-e",
        "MACOS_USERNAME=your_username",
        "-e",
        "MACOS_PASSWORD=your_password",
        "-e",
        "MACOS_HOST=your_host_ip",
        "--rm",
        "buryhuang/mcp-remote-macos-use:latest"
      ]
    },
    "mcp-my-apple-remembers": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "-e",
        "MACOS_USERNAME=your_username",
        "-e",
        "MACOS_PASSWORD=your_password",
        "-e",
        "MACOS_HOST=your_host_ip",
        "--rm",
        "buryhuang/mcp-my-apple-remembers:latest"
      ]
    }
  }
}

配置部分

推理服务器

inference_server 部分配置与您的语言模型提供商的连接:

  • base_url: 您选择的 LLM 提供商的 API 端点
  • api_key: 您用于 LLM 服务的身份验证密钥
  • use_bedrock: 设置为 true 以使用 Amazon Bedrock 进行模型推理
  • AWS 凭证(使用 Bedrock 时)

MCP 服务器

mcp_servers 部分定义可用的 MCP 工具。每个工具都有:

  • 一个唯一的标识符(例如,“mcp-remote-macos-use”)
  • command: 要执行的命令(通常是 Docker,用于容器化工具)
  • args: 工具的配置参数

此示例显示了用于通过 Docker 容器远程控制 macOS 系统的 MCP 工具。

MCP 的工作原理

模型上下文协议提供了一种标准化的方式,供应用程序:

  • 与语言模型共享上下文信息
  • 向 AI 系统公开工具和功能
  • 构建可组合的集成和工作流程

该协议使用 JSON-RPC 2.0 消息来建立主机(LLM 应用程序)、客户端(应用程序内的连接器)和服务器(提供上下文和功能的服务)之间的通信。

我们的 Agent Worker 实现以下工作流程:

  1. 初始化所有可用工具的 MCP 客户端
  2. 将初始任务消息发送到所选模型
  3. 处理模型响应(工具调用或文本)
  4. 如果进行了工具调用,则执行该工具并将结果发送回模型
  5. 重复直到任务完成或达到最大迭代次数
  6. 关闭所有 MCP 客户端
sequenceDiagram
    participant User
    participant AgentWorker
    participant LLM as Language Model
    participant MCP as MCP Tools

    User->>AgentWorker: Task + Configuration
    AgentWorker->>MCP: Initialize Tools
    AgentWorker->>LLM: Send Task
    loop Until completion
        LLM->>AgentWorker: Request Tool Use
        AgentWorker->>MCP: Execute Tool
        MCP->>AgentWorker: Tool Result
        AgentWorker->>LLM: Send Tool Result
        LLM->>AgentWorker: Response
    end
    AgentWorker->>User: Final Result

贡献指南

欢迎为 Agentic MCP Client 做出贡献!要做出贡献,请按照以下步骤操作:

  1. Fork 仓库。
  2. 为您的功能或错误修复创建一个新分支。
  3. 进行更改并提交。
  4. 将更改推送到您的 Fork。
  5. 创建一个拉取请求到主仓库。

致谢

该项目受到 MCP 生态系统中优秀开源项目的启发并在此基础上构建:

  • MCP-Bridge - 一个中间件,提供与 OpenAI 兼容的端点来调用 MCP 工具,这有助于我们了解工具集成和标准化的方法。

我们感谢这些项目的贡献者在 MCP 领域的开创性工作,这有助于使自主 Agent 开发更易于访问和更强大。

许可证

Agentic MCP Client 在 Apache 2.0 许可证下获得许可。有关更多信息,请参见 LICENSE 文件。

推荐服务器

Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
MCP Package Docs Server

MCP Package Docs Server

促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。

精选
本地
TypeScript
Claude Code MCP

Claude Code MCP

一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。

精选
本地
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。

精选
本地
JavaScript
mermaid-mcp-server

mermaid-mcp-server

一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。

精选
JavaScript
Jira-Context-MCP

Jira-Context-MCP

MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。

精选
TypeScript
Linear MCP Server

Linear MCP Server

一个模型上下文协议(Model Context Protocol)服务器,它与 Linear 的问题跟踪系统集成,允许大型语言模型(LLM)通过自然语言交互来创建、更新、搜索和评论 Linear 问题。

精选
JavaScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Curri MCP Server

Curri MCP Server

通过管理文本笔记、提供笔记创建工具以及使用结构化提示生成摘要,从而实现与 Curri API 的交互。

官方
本地
JavaScript