Agent Skills: MCP Agent Connect

Connect to an AI agent via MCP using their mcp_url from CRM. Discovers capabilities via agent.json, registers MCP server, and enables tool-based communication.

UncategorizedID: aaaaqwq/claude-code-skills/mcp-agent-connect

Install this agent skill to your local

pnpm dlx add-skill https://github.com/aAAaqwq/AGI-Super-Team/tree/HEAD/skills/mcp-agent-connect

Skill Files

Browse the full folder contents for mcp-agent-connect.

Download Skill

Loading file tree…

skills/mcp-agent-connect/SKILL.md

Skill Metadata

Name
mcp-agent-connect
Description
Connect to an AI agent via MCP using their mcp_url from CRM. Discovers capabilities via agent.json, registers MCP server, and enables tool-based communication.

MCP Agent Connect

Look up an agent's MCP endpoint from CRM, discover their capabilities, register in Claude Code, and interact via tools.

When to use

  • "Connect to [contact]'s agent"
  • "What can [company]'s agent do?"
  • "Book a meeting through [person]'s agent"
  • A CRM contact has mcp_url set and user wants to interact
  • User provides a new agent URL to register

Paths

| What | Path | |------|------| | CRM Companies | $CRM_PATH/contacts/companies.csv | | CRM People | $CRM_PATH/contacts/people.csv | | Activities | $CRM_PATH/activities.csv |

How to execute

Step 1: Find mcp_url from CRM

Parse $ARGUMENTS for the contact name or company name.

import pandas as pd

name = "$1"  # contact or company name from arguments

# Search people
people = pd.read_csv('$CRM_PATH/contacts/people.csv')
match = people[
    people['first_name'].str.contains(name, case=False, na=False) |
    people['last_name'].str.contains(name, case=False, na=False)
]

# Search companies
companies = pd.read_csv('$CRM_PATH/contacts/companies.csv')
comp_match = companies[
    companies['name'].str.contains(name, case=False, na=False)
]

# Get mcp_url
if not match.empty and pd.notna(match.iloc[0].get('mcp_url')):
    mcp_url = match.iloc[0]['mcp_url']
    contact_name = f"{match.iloc[0]['first_name']} {match.iloc[0].get('last_name', '')}"
elif not comp_match.empty and pd.notna(comp_match.iloc[0].get('mcp_url')):
    mcp_url = comp_match.iloc[0]['mcp_url']
    contact_name = comp_match.iloc[0]['name']
else:
    print(f"No mcp_url found for '{name}'. Add it to the contact's CRM record first.")
    exit()

If the user provided a URL directly instead of a contact name, skip CRM lookup and use the URL.

Step 2: Discover agent capabilities

Use WebFetch to get the agent discovery endpoint:

URL: {base_url}/.well-known/agent.json

Where base_url = mcp_url with trailing /mcp/ removed.

Parse the response for:

  • name -- agent name
  • description -- what the agent does
  • capabilities -- dict of capability → {url, tools}

Show the user what this agent can do.

Step 3: Register MCP server

Generate a slug from the agent name:

import re
slug = re.sub(r'[^a-z0-9-]', '', name.lower().replace(' ', '-'))

Register in Claude Code:

claude mcp add <slug> --transport http <mcp_url>

Tell the user: "Agent {name} registered as {slug}. Restart your Claude Code session to use their tools."

Step 4: Log activity

After any MCP interaction, log to activities.csv:

import csv
from datetime import date

activity = {
    'activity_id': f'act-mcp-{date.today().isoformat()}',
    'person_id': person_id,      # if known
    'company_id': company_id,    # if known
    'type': 'message',           # or 'meeting' for bookings
    'channel': 'mcp',
    'direction': 'outbound',
    'subject': f'MCP interaction with {contact_name}',
    'notes': 'Describe what tools were called and the outcome',
    'date': str(date.today()),
    'created_by': 'ai',
}

Update the contact's last_contact and last_updated fields.

Troubleshooting

| Problem | Solution | |---------|----------| | Tools not available after add | Restart Claude Code session | | agent.json not found | Check URL, try {base_url}/.well-known/agent.json in browser | | Connection timeout | Verify agent server is running and accessible | | MCP URL returns 404 | Ensure URL ends with / (trailing slash) | | No mcp_url in CRM | Ask user to provide the URL, then add it to the contact record |

Related skills

  • agent-contacts -- local agent phone book (add/list/remove without CRM)
  • log-activity -- log any communication to activities.csv
  • query-leads -- find CRM contacts, filter by mcp_url