Skip to content
Back to skills

643 Mcp Builder Tools Guide Cd13dcd7

ASecurity

This guide explains how to use the new MCP integration tools in the agent builder MCP server.

  • 9 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 11, 2026
ai-agentspythongobashnodeapidocumentation

Works with

  • api
  • mcp

Security analysis

A100/100

Scanned October 11, 2026

npx -y skills add tools-only/X-Skills --skill 643-mcp_builder_tools_guide_cd13dcd7 --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of 643 Mcp Builder Tools Guide Cd13dcd7?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for 643 Mcp Builder Tools Guide Cd13dcd7
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tools-only-643-mcp-builder-tools-guide-cd13dcd7/badge)](https://www.skillsdirectory.com/skills/tools-only-643-mcp-builder-tools-guide-cd13dcd7)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

SKILL.md
# Agent Builder MCP Tools - MCP Integration Guide

This guide explains how to use the new MCP integration tools in the agent builder MCP server.

## Overview

The agent builder now supports registering external MCP servers as tool sources. This allows you to:

1. Register MCP servers (like tools) during agent building
2. Discover available tools from those servers
3. Use those tools in your agent nodes
4. Automatically generate `mcp_servers.json` configuration on export

## New MCP Tools

### `add_mcp_server`

Register an MCP server as a tool source for your agent.

**Parameters:**

- `name` (string, required): Unique name for the MCP server
- `transport` (string, required): Transport type - "stdio" or "http"
- `command` (string): Command to run (for stdio transport)
- `args` (string): JSON array of command arguments (for stdio)
- `cwd` (string): Working directory (for stdio)
- `env` (string): JSON object of environment variables (for stdio)
- `url` (string): Server URL (for http transport)
- `headers` (string): JSON object of HTTP headers (for http)
- `description` (string): Description of the MCP server

**Example - STDIO:**

```json
{
  "name": "add_mcp_server",
  "arguments": {
    "name": "tools",
    "transport": "stdio",
    "command": "python",
    "args": "[\"mcp_server.py\", \"--stdio\"]",
    "cwd": "../tools",
    "description": "Aden tools for web search and file operations"
  }
}
```

**Example - HTTP:**

```json
{
  "name": "add_mcp_server",
  "arguments": {
    "name": "remote-tools",
    "transport": "http",
    "url": "http://localhost:4001",
    "description": "Remote tool server"
  }
}
```

**Response:**

```json
{
  "success": true,
  "server": {
    "name": "tools",
    "transport": "stdio",
    "command": "python",
    "args": ["mcp_server.py", "--stdio"],
    "cwd": "../tools",
    "description": "Aden tools..."
  },
  "tools_discovered": 6,
  "tools": [
    "web_search",
    "web_scrape",
    "file_read",
    "file_write",
    "pdf_read",
    "example_tool"
  ],
  "total_mcp_servers": 1,
  "note": "MCP server 'tools' registered with 6 tools. These tools can now be used in event_loop nodes."
}
```

### `list_mcp_servers`

List all registered MCP servers.

**Parameters:** None

**Response:**

```json
{
  "mcp_servers": [
    {
      "name": "tools",
      "transport": "stdio",
      "command": "python",
      "args": ["mcp_server.py", "--stdio"],
      "cwd": "../tools",
      "description": "Aden tools..."
    }
  ],
  "total": 1
}
```

### `list_mcp_tools`

List tools available from registered MCP servers.

**Parameters:**

- `server_name` (string, optional): Name of specific server to list tools from. If omitted, lists tools from all servers.

**Example:**

```json
{
  "name": "list_mcp_tools",
  "arguments": {
    "server_name": "tools"
  }
}
```

**Response:**

```json
{
  "success": true,
  "tools_by_server": {
    "tools": [
      {
        "name": "web_search",
        "description": "Search the web for information using Brave Search API...",
        "parameters": ["query", "num_results", "country"]
      },
      {
        "name": "web_scrape",
        "description": "Scrape and extract text content from a webpage...",
        "parameters": ["url", "selector", "include_links", "max_length"]
      }
    ]
  },
  "total_tools": 6,
  "note": "Use these tool names in the 'tools' parameter when adding event_loop nodes"
}
```

### `remove_mcp_server`

Remove a registered MCP server.

**Parameters:**

- `name` (string, required): Name of the MCP server to remove

**Example:**

```json
{
  "name": "remove_mcp_server",
  "arguments": {
    "name": "tools"
  }
}
```

**Response:**

```json
{
  "success": true,
  "removed": "tools",
  "remaining_servers": 0
}
```

## Workflow Example

Here's a complete workflow for building an agent with MCP tools:

### 1. Create Session

```json
{
  "name": "create_session",
  "arguments": {
    "name": "web-research-agent"
  }
}
```

### 2. Register MCP Server

```json
{
  "name": "add_mcp_server",
  "arguments": {
    "name": "tools",
    "transport": "stdio",
    "command": "python",
    "args": "[\"mcp_server.py\", \"--stdio\"]",
    "cwd": "../tools"
  }
}
```

### 3. List Available Tools

```json
{
  "name": "list_mcp_tools",
  "arguments": {
    "server_name": "tools"
  }
}
```

### 4. Set Goal

```json
{
  "name": "set_goal",
  "arguments": {
    "goal_id": "web-research",
    "name": "Web Research Agent",
    "description": "Search the web and summarize findings",
    "success_criteria": "[{\"id\": \"search-success\", \"description\": \"Successfully retrieve search results\", \"metric\": \"results_count\", \"target\": \">= 3\", \"weight\": 1.0}]"
  }
}
```

### 5. Add Node with MCP Tool

```json
{
  "name": "add_node",
  "arguments": {
    "node_id": "web-searcher",
    "name": "Web Search",
    "description": "Search the web for information",
    "node_type": "event_loop",
    "input_keys": "[\"query\"]",
    "output_keys": "[\"search_results\"]",
    "system_prompt": "Search for {query} using the web_search tool",
    "tools": "[\"web_search\"]"
  }
}
```

Note: `web_search` is now available because we registered the tools MCP server!

### 6. Export Agent

```json
{
  "name": "export_graph",
  "arguments": {}
}
```

The export will create:

- `exports/web-research-agent/agent.json` - Agent specification
- `exports/web-research-agent/README.md` - Documentation
- `exports/web-research-agent/mcp_servers.json` - **MCP server configuration** ✨

## MCP Configuration File

When you export an agent with registered MCP servers, an `mcp_servers.json` file is automatically created:

```json
{
  "servers": [
    {
      "name": "tools",
      "transport": "stdio",
      "command": "python",
      "args": ["mcp_server.py", "--stdio"],
      "cwd": "../tools",
      "description": "Aden tools for web search and file operations"
    }
  ]
}
```

This file is automatically loaded by the AgentRunner when the agent is executed, making the MCP tools available at runtime.

## Using the Exported Agent

Once exported, load and run the agent normally:

```python
from framework.runner.runner import AgentRunner

# Load agent - MCP servers auto-load from mcp_servers.json
runner = AgentRunner.load("exports/web-research-agent")

# Run with input
result = await runner.run({"query": "latest AI breakthroughs"})

# The web_search tool from tools is automatically available!
```

## Benefits

1. **Discoverable Tools**: See what tools are available before using them
2. **Validation**: Connection is tested when registering the server
3. **Automatic Configuration**: No manual file editing required
4. **Documentation**: README includes MCP server information
5. **Runtime Ready**: Exported agents work immediately with configured tools

## Common MCP Servers

### tools

Provides:

- `web_search` - Brave Search API integration
- `web_scrape` - Web page content extraction
- `file_read` / `file_write` - File operations
- `pdf_read` - PDF text extraction

### Custom MCP Servers

You can register any MCP server that follows the Model Context Protocol specification.

## Troubleshooting

### "Failed to connect to MCP server"

- Verify the `command` and `args` are correct
- Check that the server is accessible at the specified path/URL
- Ensure any required environment variables are set
- For STDIO: verify the command can be executed from the `cwd`
- For HTTP: verify the server is running and accessible

### Tools not appearing

- Use `list_mcp_tools` to verify tools were discovered
- Check the tool names match exactly (case-sensitive)
- Ensure the MCP server is still registered (`list_mcp_servers`)

### Export doesn't include mcp_servers.json

- Verify you registered at least one MCP server
- Check `get_session_status` to see `mcp_servers_count > 0`
- Re-export the agent after registering servers

## Credential Validation

When adding nodes with tools that require API keys (like `web_search`), the agent builder automatically validates that the required credentials are available.

### How It Works

When you call `add_node` or `update_node` with a `tools` parameter, the agent builder:

1. Checks which tools require credentials (e.g., `web_search` requires `BRAVE_SEARCH_API_KEY`)
2. Validates those credentials are set in the environment or `.env` file
3. Returns an error if any credentials are missing

### Missing Credentials Error

If credentials are missing, you'll receive a response like:

```json
{
  "valid": false,
  "errors": ["Missing credentials for tools: ['BRAVE_SEARCH_API_KEY']"],
  "missing_credentials": [
    {
      "credential": "brave_search",
      "env_var": "BRAVE_SEARCH_API_KEY",
      "tools_affected": ["web_search"],
      "help_url": "https://brave.com/search/api/",
      "description": "API key for Brave Search"
    }
  ],
  "action_required": "Add the credentials to your .env file and retry",
  "example": "Add to .env:\nBRAVE_SEARCH_API_KEY=your_key_here",
  "message": "Cannot add node: missing API credentials. Add them to .env and retry this command."
}
```

### Fixing Credential Errors

1. Get the required API key from the URL in `help_url`
2. Add it to your environment:

   ```bash
   # Option 1: Export directly
   export BRAVE_SEARCH_API_KEY=your-key-here

   # Option 2: Add to tools/.env
   echo "BRAVE_SEARCH_API_KEY=your-key-here" >> tools/.env
   ```

3. Retry the `add_node` command

### Required Credentials by Tool

| Tool         | Credential             | Get Key                                               |
| ------------ | ---------------------- | ----------------------------------------------------- |
| `web_search` | `BRAVE_SEARCH_API_KEY` | [brave.com/search/api](https://brave.com/search/api/) |

Note: The MCP server itself requires `ANTHROPIC_API_KEY` at startup for LLM operations.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.