> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dexpaprika.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Use DexPaprika with CrewAI

> Give a CrewAI agent live DEX market data by connecting the keyless DexPaprika hosted MCP server with MCPServerAdapter. All 17 tools, zero custom code.

CrewAI can use DexPaprika's live DEX data with no custom tool code: its `MCPServerAdapter` connects to our hosted MCP server and hands all 17 tools to your agents. Keyless, no signup.

## Install

```bash theme={null}
pip install 'crewai-tools[mcp]'
```

## Connect the hosted MCP server

`MCPServerAdapter` pulls the tools from `https://mcp.dexpaprika.com/sse` and exposes them as native CrewAI tools:

```python theme={null}
from crewai import Agent, Task, Crew, Process
from crewai_tools import MCPServerAdapter

server = {"url": "https://mcp.dexpaprika.com/sse", "transport": "sse"}

with MCPServerAdapter(server, connect_timeout=60) as tools:
    analyst = Agent(
        role="DeFi Market Analyst",
        goal="Answer on-chain DEX questions with live data",
        backstory="Expert in liquidity and trading across 36 chains.",
        tools=tools,
    )
    task = Task(
        description="Find the top WETH pools on ethereum and report their 24h volume.",
        expected_output="A short list of pools with 24h volume.",
        agent=analyst,
    )
    Crew(agents=[analyst], tasks=[task], process=Process.sequential).kickoff()
```

The `with` block keeps the MCP connection open for the crew's run and closes it afterward. Use the `/sse` transport; it is the tested default.

## Tools and the rationale field

All 17 DexPaprika tools appear as CrewAI tools: networks, pools, tokens, OHLCV, transactions, and cross-chain search. See the [MCP tools reference](/ai-integration/mcp-tools) for the full list.

Every read tool takes a required `rationale` string (1-2 sentences on why you are calling it). It is part of each tool's schema, so a capable model fills it automatically. If a smaller model returns validation errors, prompt it to include a short rationale.

## Resources

* [CrewAI documentation](https://docs.crewai.com)
* [Hosted MCP server](/ai-integration/hosted-mcp-server)
* [MCP tools reference](/ai-integration/mcp-tools)

## FAQs

<AccordionGroup>
  <Accordion title="Do I need an API key?">
    No. The hosted server is keyless for read access. A free registered key or Pro plan raises your rate and monthly quota; see [rate limits](/knowledge-base/rate-limits).
  </Accordion>

  <Accordion title="Which transport should I use?">
    Use SSE (`https://mcp.dexpaprika.com/sse`) with CrewAI. The server also serves streamable HTTP, but SSE is the tested path through `MCPServerAdapter`.
  </Accordion>

  <Accordion title="Do I have to write any tool code?">
    No. `MCPServerAdapter` discovers the tools from the server, so you get all 17 without defining any yourself.
  </Accordion>
</AccordionGroup>

<script type="application/ld+json">
  {JSON.stringify({
      "@context": "https://schema.org",
      "@type": "FAQPage",
      "mainEntity": [
        {"@type": "Question","name": "Do I need an API key to use DexPaprika with CrewAI?","acceptedAnswer": {"@type": "Answer","text": "No. The hosted server is keyless for read access. A free key or Pro plan raises your rate and monthly quota."}},
        {"@type": "Question","name": "Which transport should CrewAI use for DexPaprika?","acceptedAnswer": {"@type": "Answer","text": "Use SSE at https://mcp.dexpaprika.com/sse. It is the tested path through MCPServerAdapter."}},
        {"@type": "Question","name": "Do I have to write tool code for CrewAI?","acceptedAnswer": {"@type": "Answer","text": "No. MCPServerAdapter discovers all 17 tools from the server automatically."}}
      ]
    })}
</script>
