Mcp agent connect
14 AI executives powered by legendary minds (Musk/Buffett/Simons/Feynman) — deploy your virtual C-Suite in one git clone.
npx -y skills add aAAaqwq/AGI-Super-Team --skill mcp-agent-connectAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
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.
SKILL.md
3.9 KB, 985 tokens by cl100k_base, as published. Nobody here has run it
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_urlset 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 namedescription-- what the agent doescapabilities-- 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.csvquery-leads-- find CRM contacts, filter by mcp_url