Use GitDealFlow A2A with CrewAI
Python multi-agent orchestration. Builders running role-based agent crews where one agent does sourcing, another writes the memo.
Crunchbase API: $20K/yr. GitDealFlow A2A: free, no signup.
CrewAI lets you compose specialized agents into a crew with shared context. Wrap our A2A endpoint as a BaseTool and any agent on the crew can pull live engineering signals, typical pattern is a 'scout' agent that surfaces breakouts and a 'analyst' agent that drafts the LP-ready memo.
Endpoint facts for CrewAI users
Whatever wiring you choose, the target is the same single endpoint. These are the fixed facts; nothing on this page changes them:
| Protocol | A2A JSON-RPC 2.0 (protocolVersion 0.3.0) |
| Endpoint URL | https://signals.gitdealflow.com/api/a2a |
| Skills exposed | 5, mirrored 1:1 with the MCP server tools (trending, sector, lookup, summary, methodology) |
| Auth | None; free in perpetuity, read-only |
| Freshness | Recomputed weekly; responses carry the data-as-of date |
| Best CrewAI path | CrewAI has no native MCP client yet, so the custom-tool path below (a thin JSON-RPC call) is the way in. |
Install
pip install crewai requestsCustom BaseTool subclass
from crewai_tools import BaseTool
import requests
A2A_URL = "https://signals.gitdealflow.com/api/a2a"
class GitDealFlowTool(BaseTool):
name: str = "GitDealFlow A2A"
description: str = (
"Fetch live VC engineering signals. "
"Pass skill (get_trending_startups | search_startups_by_sector | "
"get_startup_signal | get_signals_summary | get_methodology) and optional args."
)
def _run(self, skill: str, args: dict | None = None) -> dict:
body = {
"jsonrpc": "2.0", "id": 1,
"method": "message/send",
"params": {"message": {"role": "user", "parts": [
{"kind": "data", "data": {"skill": skill, "args": args or {}}},
]}},
}
return requests.post(A2A_URL, json=body, timeout=15).json()
# Then attach to any Agent: tools=[GitDealFlowTool()]What you can ask
- Scout agent: 'pull this week's top 20 trending and rank by my fintech focus.'
- Analyst agent: 'write a 1-page memo on the top result.'
- Verifier agent: 'cite the SSRN methodology in the memo.'
- Compose: scout → analyst → verifier → email-drafter pipeline.
Gotchas
- CrewAI passes tool args as kwargs, declare your `_run` signature explicitly or use a Pydantic args_schema.
- Crews default to verbose=False; turn on verbose=True the first run so you see exactly which skill the agent picked.
When to pick which path
Because CrewAI currently lacks a native MCP client, your two options are the custom tool below (a thin JSON-RPC wrapper you register once) or switching the session to an MCP-capable host when you need the richer tool surface. For scheduled jobs and pipelines, the raw endpoint is usually the sturdier dependency: no client versioning to track.
4example prompts are listed under "What you can ask" below, and the gotchas section covers the 2 known failure modes CrewAI users hit with this endpoint. If a prompt fails, check the gotchas first: most misses are shape mismatches, not endpoint outages.
References
Try it without setup
The interactive playground lets you send live JSON-RPC requests against the A2A endpoint with no install, no auth. Pick a skill, hit send, see the response.
Full launch story: I made my VC deal flow callable by Claude.