MCP-Agent logo

MCP-Agent

by shane-kercheval

MCP-Agent is a CLI tool that uses DSPy to interact with MCP servers, providing a Claude Desktop-like experience. The agent autonomously uses tools defined in MCP server(s) to fulfill user requests.

View on GitHub

Last updated: N/A

What is MCP-Agent?

The MCP-Agent is a command-line interface that utilizes DSPy to interact with MCP (Modular Computation Platform) servers. It aims to replicate the user experience of the Claude Desktop application by autonomously employing tools defined in the MCP server(s) to address user requests iteratively.

How to use MCP-Agent?

  1. Create a .env file with an OPENAI_API_KEY.
  2. Adjust the server path in ./servers/mcp_fake_server_config.json.
  3. Run make build to build the project.
  4. Run make chat to start the CLI, which uses openai/gpt-4o-mini as the model.

Key features of MCP-Agent

  • Uses DSPy for agentic tool use

  • CLI interface for interacting with MCP servers

  • Configuration based on Claude Desktop format

  • Autonomous tool selection and execution

  • Supports multiple MCP servers

  • Iterative problem solving

Use cases of MCP-Agent

  • Automating tasks using defined tools hosted on MCP servers.

  • Interacting with multiple services simultaneously using AI agent.

  • Prototyping AI agents that leverage external tools.

  • Developing a local alternative to Claude Desktop.

FAQ from MCP-Agent

What is the purpose of the MCP-Agent?

The MCP-Agent provides a CLI interface to interact with MCP servers using DSPy, mimicking the functionality and ease of use of Claude Desktop.

What is DSPy?

DSPy is a framework for building and deploying self-improving language model (LM) programs.

How do I configure the MCP servers?

The MCP servers are configured using a JSON file in the same format as Claude Desktop. This file specifies the server endpoints and tool definitions.

What model does the make chat command use?

The make chat command uses openai/gpt-4o-mini as the model and requires OPENAI_API_KEY.

What do I do if I receive Error: spawn uv ENOENT error when starting Claude?

Add the full path to the command and the --directory flag referencing the project directory of the source files that are imported by the server in mcpServers config.