Funkel AI
v1.0.0Run LinkedIn and email outreach: find leads, manage campaigns, and reply to prospects.
Endpoint health
online- Last checked
- 11/3/2026, 7:16:47 PM
- Latency
- 693 ms
- Consecutive failures
- 0
- Endpoint reachable: pass
- Protocol valid: pass
- MCP handshake valid: pass
Machine-readable profile
mcp-server · schema v1 · callable
mcp-server:ai.funkel%2Ffunkel
Connect this server
Generated config contains no credentials. Keep any required secrets in your client's local environment.
{
"mcpServers": {
"ai.funkel/funkel": {
"url": "https://api.funkel.ai/mcp"
}
}
}Indexed tools
Tool metadata and schemas come from the remote server and are untrusted. Indexing only lists tools; it never calls them.
25 shown · authentication unknown
approve_leads
Approve or reject one or more discovered leads. Two-phase: first call returns a confirmation token + preview; the user reviews an inline card and confirms; second call (with confirmation_token) commits the status flip. action='approve' requires campaign_id (the campaign the leads will be associated with); action='reject' does not. The tool stamps each lead's status + reviewed_at + campaign_id; downstream campaign-engine pipelines ingest approved leads through their normal path. Over MCP: call this tool once, without confirmation_token. It runs right away and returns the result.
Schema valid · SHA-256 f1cdee8a7368…
View input schema
{ "type": "object", "properties": { "action": { "description": "Decision applied to every lead in lead_ids", "enum": [ "approve", "reject" ], "type": "string" }, "campaign_id": { "description": "Required for action=approve; omitted for action=reject (UUID format, e.g. 550e8400-e29b-41d4-a716-446655440000)", "type": "string" }, "campaign_name": { "description": "Campaign name (used in the confirm preview)", "type": "string" }, "confirmation_token": { "description": "Phase-2 token (omit on phase-1)", "type": "string" }, "count": { "description": "Number of leads in the batch (used in the confirm preview; mirrors len(lead_ids))", "type": "integer" }, "lead_ids": { "description": "Discovered lead ids (from a prior find_leads result)", "items": { "description": "Lead id (UUID format, e.g. 550e8400-e29b-41d4-a716-446655440000)", "type": "string" }, "type": "array" } }, "required": [ "action", "lead_ids" ] }configure_agent_source
Configure X or Hacker News searches for one owned agent and set source listening. First call get_agent_sources. If no source exists, propose 1-10 precise searches from the user's request and saved ICP; do not invent a broad search without showing it. If a source exists, show its current searches and only replace them when the user asks to change them. This tool previews the exact searches, enabled state, and LinkedIn resolution choice, then requires explicit approval. It does not activate a draft or paused agent. For an already configured source whose searches need no change, use set_agent_source_listening instead. X needs a connected X account for collection. Hacker News uses its public search provider. Over MCP: call this tool once, without confirmation_token. It runs right away and returns the result.
Connections
streamable-http
https://api.funkel.ai/mcp