2,500+ MCP servers ready to use
Vinkius

OpenDota MCP Server for CrewAI 18 tools — connect in under 2 minutes

Built by Vinkius GDPR 18 Tools Framework

Connect your CrewAI agents to OpenDota through Vinkius, pass the Edge URL in the `mcps` parameter and every OpenDota tool is auto-discovered at runtime. No credentials to manage, no infrastructure to maintain.

Vinkius supports streamable HTTP and SSE.

python
from crewai import Agent, Task, Crew

agent = Agent(
    role="OpenDota Specialist",
    goal="Help users interact with OpenDota effectively",
    backstory=(
        "You are an expert at leveraging OpenDota tools "
        "for automation and data analysis."
    ),
    # Your Vinkius token. get it at cloud.vinkius.com
    mcps=["https://edge.vinkius.com/[YOUR_TOKEN_HERE]/mcp"],
)

task = Task(
    description=(
        "Explore all available tools in OpenDota "
        "and summarize their capabilities."
    ),
    agent=agent,
    expected_output=(
        "A detailed summary of 18 available tools "
        "and what they can do."
    ),
)

crew = Crew(agents=[agent], tasks=[task])
result = crew.kickoff()
print(result)
OpenDota
Fully ManagedVinkius Servers
60%Token savings
High SecurityEnterprise-grade
IAMAccess control
EU AI ActCompliant
DLPData protection
V8 IsolateSandboxed
Ed25519Audit chain
<40msKill switch
Stream every event to Splunk, Datadog, or your own webhook in real-time

* Every MCP server runs on Vinkius-managed infrastructure inside AWS - a purpose-built runtime with per-request V8 isolates, Ed25519 signed audit chains, and sub-40ms cold starts optimized for native MCP execution. See our infrastructure

About OpenDota MCP Server

Connect to OpenDota and explore the world's most comprehensive Dota 2 match database through natural conversation.

When paired with CrewAI, OpenDota becomes a first-class tool in your multi-agent workflows. Each agent in the crew can call OpenDota tools autonomously, one agent queries data, another analyzes results, a third compiles reports, all orchestrated through Vinkius with zero configuration overhead.

What you can do

  • Player Profiles — Get player stats, rank tier, MMR estimate, winrate and most played heroes
  • Match History — Browse a player's full match history with hero, result, KDA and duration
  • Match Details — Get complete match info including all 10 players, items, builds, damage and objectives
  • Heroes — List all 124 Dota 2 heroes with their roles, attributes and performance benchmarks
  • Teams — Discover professional teams with their ratings, rosters and win/loss records
  • Leagues — Browse all pro leagues and tournaments with tiers and dates
  • Records — See all-time records for kills, GPM, XPM, hero damage and more
  • MMR Distribution — View rank tier distribution across the entire Dota 2 player base
  • Search — Find players, teams and leagues by name

The OpenDota MCP Server exposes 18 tools through the Vinkius. Connect it to CrewAI in under two minutes — no API keys to rotate, no infrastructure to provision, no vendor lock-in. Your configuration, your data, your control.

How to Connect OpenDota to CrewAI via MCP

Follow these steps to integrate the OpenDota MCP Server with CrewAI.

01

Install CrewAI

Run pip install crewai

02

Replace the token

Replace [YOUR_TOKEN_HERE] with your Vinkius token from cloud.vinkius.com

03

Customize the agent

Adjust the role, goal, and backstory to fit your use case

04

Run the crew

Run python crew.py. CrewAI auto-discovers 18 tools from OpenDota

Why Use CrewAI with the OpenDota MCP Server

CrewAI Multi-Agent Orchestration Framework provides unique advantages when paired with OpenDota through the Model Context Protocol.

01

Multi-agent collaboration lets you decompose complex workflows into specialized roles, one agent researches, another analyzes, a third generates reports, each with access to MCP tools

02

CrewAI's native MCP integration requires zero adapter code: pass Vinkius Edge URL directly in the `mcps` parameter and agents auto-discover every available tool at runtime

03

Built-in task delegation and shared memory mean agents can pass context between steps without manual state management, enabling multi-hop reasoning across tool calls

04

Sequential and hierarchical crew patterns map naturally to real-world workflows: enumerate subdomains → analyze DNS history → check WHOIS records → compile findings into actionable reports

OpenDota + CrewAI Use Cases

Practical scenarios where CrewAI combined with the OpenDota MCP Server delivers measurable value.

01

Automated multi-step research: a reconnaissance agent queries OpenDota for raw data, then a second analyst agent cross-references findings and flags anomalies. all without human handoff

02

Scheduled intelligence reports: set up a crew that periodically queries OpenDota, analyzes trends over time, and generates executive briefings in markdown or PDF format

03

Multi-source enrichment pipelines: chain OpenDota tools with other MCP servers in the same crew, letting agents correlate data across multiple providers in a single workflow

04

Compliance and audit automation: a compliance agent queries OpenDota against predefined policy rules, generates deviation reports, and routes findings to the appropriate team

OpenDota MCP Tools for CrewAI (18)

These 18 tools become available when you connect OpenDota to CrewAI via MCP:

01

get_benchmarks

Compare any player's stats against the broader player base. Requires a hero ID (from list_heroes). Get hero performance benchmarks

02

get_constants

Optionally specify a resource name (e.g. "game_mode", "lobby_type", "lane_role", "patch", "cluster") to get a specific constant set. Get OpenDota constant data

03

get_distributions

Shows how many players are in each bracket (Herald, Guardian, Crusader, Archon, Legend, Ancient, Divine, Immortal). Useful for understanding where a player stands in the overall population. Get MMR and rank distributions

04

get_match

Returns the match duration, game mode, lobby type, league, radiant/dire team compositions, all 10 players' heroes, items, KDA, GPM, XPM, hero damage, tower damage and healing. Also includes draft picks, chat logs and team objectives for professional matches. Get detailed match info

05

get_player

Returns the player's profile picture, rank tier, MMR estimate, total matches, winrate and country. Account IDs are numeric Steam IDs (e.g. 87276347 for Arteezy, 19672354 for SumaiL). Use search to find a player by name first. Get player profile and stats

06

get_player_heroes

Useful for analyzing a player's hero pool and identifying their best heroes. Get a player's performance stats by hero

07

get_player_matches

Each match includes the match ID, hero played, result (win/loss), kills, deaths, assists, duration, game mode, lobby type, league and start time. Sorted by most recent first. Returns thousands of matches for active players. Get a player's match history

08

get_player_recent_matches

Each match includes the match ID, hero played, result, KDA, duration and game mode. Useful for checking a player's current form and recent hero pool. Get a player's recent matches (last 20)

09

get_player_records

Shows the match ID, hero and value for each record. Get a player's personal records

10

get_player_wl

Shows wins and losses for each hero, revealing their strongest and weakest picks. Useful for understanding a player's hero preferences and strengths. Get a player's win/loss record by hero

11

get_records

Supported fields: "kills", "deaths", "assists", "last_hits", "denies", "gold_per_min", "xp_per_min", "hero_damage", "tower_damage", "hero_healing", "level", "duration", "longest_word". Returns the top record holders with match IDs and hero info. Get all-time game records

12

get_team

Returns the team name, tag, logo, rating, win/loss record, player roster, matches played and recent results. Get detailed info for a professional team

13

list_heroes

Returns approximately 124 heroes. Useful for discovering hero IDs to use with other tools. Get the list of all Dota 2 heroes

14

list_leagues

Each league includes its ID, name, tier (premium, professional, amateur), region, start/end dates and logo URL. Useful for discovering tournaments and filtering matches by league. Get the list of professional leagues

15

list_recent_matches

Each match includes the match ID, start time, duration, radiant/dire team average MMR and winner. Returns up to 500 matches. Useful for browsing recent games and finding match IDs to explore. Get recent public matches

16

list_teams

Each team includes its ID, name, tag, logo URL, rating, number of wins/losses and last match time. Sorted by team rating. Useful for discovering pro teams and their IDs. Get the list of professional teams

17

run_explorer_query

Requires a valid SQL query string. Returns query results as an array. Advanced feature for deep data analysis. Example: "SELECT hero_id, count(*) matches FROM player_matches GROUP BY hero_id ORDER BY matches DESC LIMIT 10" Run a custom SQL query via OpenDota Explorer

18

search

Returns matching results with their types and IDs. Useful for finding a player's account ID or a team's ID when you only know their name. Search for players, teams, leagues and heroes

Example Prompts for OpenDota in CrewAI

Ready-to-use prompts you can give your CrewAI agent to start working with OpenDota immediately.

01

"Search for the player 'Arteezy'."

02

"Show me all Dota 2 heroes."

03

"What are the all-time records for most kills in a single match?"

Troubleshooting OpenDota MCP Server with CrewAI

Common issues when connecting OpenDota to CrewAI through the Vinkius, and how to resolve them.

01

MCP tools not discovered

Ensure the Edge URL is correct. CrewAI connects lazily when the crew starts. check console output.
02

Agent not using tools

Make the task description specific. Instead of "do something", say "Use the available tools to list contacts".
03

Timeout errors

CrewAI has a 10s connection timeout by default. Ensure your network can reach the Edge URL.
04

Rate limiting or 429 errors

Vinkius enforces per-token rate limits. Check your subscription tier and request quota in the dashboard. Upgrade if you need higher throughput.

OpenDota + CrewAI FAQ

Common questions about integrating OpenDota MCP Server with CrewAI.

01

How does CrewAI discover and connect to MCP tools?

CrewAI connects to MCP servers lazily. when the crew starts, each agent resolves its MCP URLs and fetches the tool catalog via the standard tools/list method. This means tools are always fresh and reflect the server's current capabilities. No tool schemas need to be hardcoded.
02

Can different agents in the same crew use different MCP servers?

Yes. Each agent has its own mcps list, so you can assign specific servers to specific roles. For example, a reconnaissance agent might use a domain intelligence server while an analysis agent uses a vulnerability database server.
03

What happens when an MCP tool call fails during a crew run?

CrewAI wraps tool failures as context for the agent. The LLM receives the error message and can decide to retry with different parameters, fall back to a different tool, or mark the task as partially complete. This resilience is critical for production workflows.
04

Can CrewAI agents call multiple MCP tools in parallel?

CrewAI agents execute tool calls sequentially within a single reasoning step. However, you can run multiple agents in parallel using process=Process.parallel, each calling different MCP tools concurrently. This is ideal for workflows where separate data sources need to be queried simultaneously.
05

Can I run CrewAI crews on a schedule (cron)?

Yes. CrewAI crews are standard Python scripts, so you can invoke them via cron, Airflow, Celery, or any task scheduler. The crew.kickoff() method runs synchronously by default, making it straightforward to integrate into existing pipelines.

Connect OpenDota to CrewAI

Get your token, paste the configuration, and start using 18 tools in under 2 minutes. No API key management needed.