The devrelay-gateway MCP server provides dedicated tools to query live DEV Challenges and community events directly from the DEV Events API (/api/events).
DEV regularly hosts technical challenges, hackathons, and open-source events (such as Hacktoberfest sprints and partner hackathons). To participate effectively, agents need access to the exact rules, judging rubrics, and sponsor requirements.
The user installed DevRelay partly so they stop finding out about a challenge the week
after it closed. You are the one who notices. Check get_challenges (and get_events
for livestreams and takeovers) on your own initiative when:
Classify by date first (below). When an active or upcoming challenge fits, mention it
in one or two lines as an interlude towards the bottom of your response before your
final closing summary (never as the very last part of the message): title, what it
asks for, deadline with days remaining, link. Then offer to audit the project against
full_details and draft the entry. When nothing fits, say nothing about challenges;
do not pad a reply with irrelevant events.
For the user’s own MLH hackathons, the same instinct applies through
list_my_mlh_events; see [[devrelay-offers]] and [[devrelay-mlh-submissions]].
DEV Events API features:
type_of): Enables filtering events by type (challenge, live_stream, takeover, other).full_details Agent Context Attribute: Added specifically to provide API consumers and AI agents with the complete, unabridged text dump of all event context (prompts, rules, judging rubrics, sponsor tracks, submission requirements, FAQs, prize tiers, and templates) that may not be displayed on the public event summary card.| You need | Call |
|---|---|
| Active, upcoming, or past DEV Challenges | get_challenges |
| Full rules, rubric, and context for a challenge | get_challenge_details |
Community events filtered by type (live_stream, takeover, other) |
get_events |
| Full details for any specific event by ID | get_event_by_id |
| Stage/publish a challenge entry post | create_article (with published: false) |
full_detailsWhen calling get_challenge_details or get_event_by_id, always inspect the full_details field. While description and details provide short marketing summaries, full_details is the authoritative source for:
#devchallenge, #hacktoberfest, sponsor tags).The DEV Events API returns events from across history — past, ongoing, and upcoming. You MUST evaluate starts_at and ends_at timestamps against the current date to contextually classify each event:
| Status | Condition | Agent Action |
|---|---|---|
| 🟢 Active / Ongoing | starts_at <= now <= ends_at |
Primary targets for current entry. Highlight submission deadline (ends_at) and days remaining. |
| 🔵 Upcoming | now < starts_at |
Announced events. Note start date; prepare ideas and dependencies ahead of kickoff. |
| ⚪ Past / Concluded | ends_at < now |
Submissions closed. Never present as active. Use exclusively for historical research, retrospective analysis, or winning architecture patterns. |
ends_at < now) or explicitly group results by Active, Upcoming, and Concluded.Follow this 5-step workflow when helping a user participate in a DEV Challenge:
Call get_challenges to list active hackathons and challenges:
{
"name": "get_challenges",
"arguments": { "page": 1, "per_page": 10 }
}
Call get_challenge_details with the chosen challenge ID to retrieve full_details:
{
"name": "get_challenge_details",
"arguments": { "id": 101 }
}
Parse the full_details markdown for track guidelines, rubrics, and submission requirements.
Audit the user’s workspace against the criteria found in full_details:
LICENSE / LICENSE.md).README.md.Draft a structured submission post following the template in full_details:
create_article. Leave ai_disclosure_level
unset: DevRelay sends some_ai, which is the honest level for an agent-drafted
entry and what challenge rules expect (see [[devrelay-publishing]]):{
"name": "create_article",
"arguments": {
"title": "My Project Submission: Building an AI Agent for DEV",
"body_markdown": "...",
"published": false,
"tags": ["devchallenge", "hacktoberfest", "ai", "webdev"]
}
}
Present a final checklist to the user verifying that all items from full_details have been met before they publish. Publishing is the user’s call: set published: true only after an explicit yes in this session.
full_details covers one challenge. The rules that recur across DEV Challenges
are in the dev-challenges knowledge guide (see [[devrelay-knowledge]]): the
Official Rules’ eligibility (18+, excluded countries, DEV Members), teams of up
to four, the one-submission and new-work defaults, plagiarism consequences,
non-English entries, tie-breaks, and how prizes are paid. Where it and
full_details disagree, the challenge page wins for that challenge.
When reporting on challenges or events:
location_url or https://dev.to/events/<id>).full_details is null or empty for an event, note that the organizer has not supplied an extended agent context dump and rely on description/details.