agenteng
Summary: A read-only MCP server for discovering AgentEng conferences, browsing agent-engineering tools, and querying public HQ facts.
Discover events, event details, agendas, speakers, talks, and FAQs.
Browse tools, models, and infrastructure across 12 disciplines with filters by discipline, kind, status, and search.
Query public facts: about, HQ, themes, sponsors, conduct, participate, gallery, and A2A talks.
Access event-day info: guide, venue, live now/next board, bingo, tickets, and recordings.
Use search, ask, and chat operations with optional history and output formats (JSON, ICS, text, SVG, HTML).
Returns structured Result JSON with answer, data, sources, status, timestamps, and catalogue version.
Read-only, idempotent, non-destructive, and offline-capable.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@agentengShow me upcoming Agent Engineering events in London"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Why AgentEng?
AgentEng brings Agent Engineering HQ to your terminal and coding agent. It is an offline-capable Python CLI, MCP server and A2A agent for conferences, meetups and events in London and San Francisco, with a directory of tools across 12 agent engineering disciplines.
Explore the bundled catalogue with no provider key or model calls. Read cards and tables in your terminal, or use the same structured results through CLI JSON, MCP, A2A and HTTP.
What you can do | How AgentEng helps |
Find your next event | Browse events, speakers, talks, agendas and the day guide. |
Explore the discipline | Search tools, models and infrastructure across 12 disciplines, with source attribution. |
Bring your coding agent | Connect Codex, Claude Code or Cursor through MCP; use A2A or HTTP for other clients. |
Make the most of event day | Read the day guide and directions, follow the live now/next board and play talk bingo. |
The catalogue is a snapshot. Follow official event and registration links for current details and ticket availability. See data and attribution.
Related MCP server: docfy-mcp
Quickstart
1. Install
AgentEng requires Python 3.12+. The installer includes the CLI, MCP and A2A extras, bootstraps uv when needed and never uses sudo.
curl -fsSL https://agentengineering.world/install.sh | shPrefer a package manager? Choose either:
# uv
uv tool install --upgrade 'agenteng[server]'
# pip
pip install -U 'agenteng[server]'To pin the installer to a release, pass the version to sh:
curl -fsSL https://agentengineering.world/install.sh | AGENTENG_VERSION=0.0.28 sh2. Discover an event
agenteng # interactive menu (TTY)
agenteng discover # London / San Francisco overview
agenteng events --upcoming
agenteng event agenteng-london-2026
agenteng speakers --city London
agenteng agenda agenteng-london-2026
agenteng guide # London day guideUse the IDs returned by agenteng events to explore other published events. Run agenteng --help or agenteng COMMAND --help for options. The short alias ae also works: ae talks is equivalent to agenteng talks.
3. Get structured results
agenteng --json discover
agenteng --json talks
AGENTENG_OUTPUT=json agenteng events --upcomingPlace --json before the subcommand. Non-TTY stdout also returns the shared Result JSON automatically, so commands work naturally in pipes and agent workflows.
Full commands, flags and exit codes: CLI reference.
Explore the tool directory
Browse tools, models and infrastructure by discipline, kind or search term. Listings include source links and work offline.
agenteng disciplines
agenteng tools --discipline memory
agenteng tools --discipline inference --kind runtime
agenteng tools --search 'Gemini CLI'
agenteng tool langgraph
agenteng --json tools --discipline code --limit 25The 12 disciplines: Prompt · Context · Harness · Eval · Memory · Inference · Loop · Agentic · Code · Protocol · Graph · Search. agenteng disciplines also lists the site's Factory and Decision Engineering, which have no tool listings yet.
See the tool directory guide for filters, pagination and attribution.
Connect your agent
Give your coding agent access to events and tools. Try asking: “Find the next London conference” or “List memory tools.”
MCP (local)
After installing agenteng[server], add this to your client's MCP configuration:
{
"mcpServers": {
"agenteng": {
"command": "agenteng",
"args": ["mcp"]
}
}
}For client-specific setup:
agenteng connect codex
agenteng connect claude-code
agenteng connect cursorSee the integration guide for local and hosted connections.
Hosted MCP, A2A and HTTP
Base URL: a2a.agentengineering.world. Use the hosted service to connect without a local MCP process.
Interface | Route |
MCP Streamable HTTP |
|
A2A 1.0 discovery |
|
A2A JSON-RPC |
|
Typed HTTP query |
|
The same typed request works as an A2A JSON data part or an HTTP body. Request shapes and architecture: ARCHITECTURE.md.
Interface | Route |
Catalogue / health |
|
OpenAPI / Swagger / ReDoc |
|
Crawlable discovery |
|
Full tool directory feed |
|
Crawler / agent guides |
|
Public operations (CLI, MCP, A2A, HTTP) include: disciplines, tools, tool, discover, events, event, agenda, speakers, speaker, talks, talk, faq, venue, sponsors, conduct, themes, now, next, live, bingo, about, hq, guide, tickets, recordings, search, ask and participate.
Begin with discover for featured London/San Francisco events, or events for published IDs. Full command and flag reference: docs/COMMANDS.md.
Event day
AgentEng London is on Fri 16 October 2026 at Everyman Canary Wharf, Crossrail Place, London E14 5AR, and is fully booked. Doors 08:00, programme starts 9:00 sharp.
agenteng guide # the website's day guide, every section
agenteng guide arriving # one section; agenteng guide --list shows them all
agenteng venue london # address, best way in, walk video, times, help
agenteng live # full-screen now/next board (Ctrl-C exits)
agenteng live --at 10:40 # preview the board at a given time
agenteng bingo --seed 7 # talk bingo; same seed, same card
agenteng bingo --format html --output bingo.html
agenteng about # what Agent Engineering is
agenteng hq # manifesto, mindset, reading
agenteng unsave SESSION_ID
agenteng recordingsPiped or with --json before the subcommand, agenteng live prints one Result JSON snapshot (agenteng --json live --once). Website command wording is tracked in docs/SITE-SYNC.md.
Experimental: drive a coding agent (agenteng code)
agenteng code launches an ACP coding agent you already use, attaches the AgentEng MCP server and streams its work. Every permission is asked in your terminal. Options and output may change between releases.
uv tool install 'agenteng[acp]'
agenteng code --list
agenteng code --agent claude "summarise talk agenteng-london-2026-14"Details: ACP design note and docs.
Privacy
No telemetry. Catalogue lookups run offline by default;
--remote URLsends requests to your chosen host.Local storage. Optional
agenteng codelogs stay in your config directory. Public operations create no attendee records or personal agendas.Your chosen coding agent.
agenteng codesends prompts to the coding agent you launch and its provider.No stored conversations. The public AgentEng application keeps no conversations or request bodies; the hosting platform maintains standard request logs.
Full policy: Privacy in DATA.md.
Documentation
Topic | Link |
Start here | |
CLI command reference | |
Coding-agent integrations | |
Tool directory | |
ACP client | |
Public participation policy | |
Community | |
Data and privacy | |
Architecture | |
Releases | |
Changelog |
Contributing
Help improve the code, documentation or source-backed event and tool data. Start with CONTRIBUTING.md or open an issue.
git clone https://github.com/SuperagenticAI/agenteng.git
cd agenteng
uv sync --frozen --all-extras
uv run --frozen pytest -q
uv run --frozen ruff check src tests scripts
uv run --frozen ruff format --check src tests scriptsFollow the Code of Conduct. To report a vulnerability, use SECURITY.md.
License
Source code and original documentation are licensed under Apache-2.0. Third-party event and speaker material retains its own rights; see NOTICE and DATA.md.
Available Tools
1 toolagentengCRead-onlyIdempotent
Discover AgentEng conferences in London and San Francisco, browse agent-engineering tools across twelve disciplines, query public facts from Agent Engineering HQ.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| stale | Yes | |
| usage | No | |
| answer | Yes | |
| engine | No | |
| status | No | |
| sources | No | |
| artifact | No | |
| evaluated_at | Yes | |
| published_at | Yes | |
| catalogue_version | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnly, idempotent, non-destructive, closed-world) already carry the safety profile, so the factual bar is low. The description adds no behavioral context beyond the domain: nothing about pagination via limit/offset, format switching (ics/svg/html/text), chat history semantics, or the read-only nature of the catalogue queries.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with three parallel clauses and no filler; it is efficiently sized. It just prioritizes breadth of domain over the schema-dispatch information an agent most needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. But for a tool of this complexity (31 operations, ~22 request fields, multiple output formats), a three-clause sentence is far too thin to be complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for roughly two dozen fields and it largely does not. The phrase 'twelve disciplines' implicitly ties to the 12-value discipline enum and 'London and San Francisco' hints at city, but operation, limit, offset, format, engine, kind, tool_status, history, and the rest are entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives broad verbs and resources (discover conferences, browse tools, query facts) for a domain-specific aggregator, so the general purpose is graspable. But the tool exposes 31 operations (events, agenda, speakers, talks, faq, tickets, search, ask, chat, guide, etc.), and the description accounts for only three loose families. An agent cannot tell what the tool actually dispatches on without reading the schema enum.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of which operation to pick for which intent, and no exclusions. With no siblings the alternative-tool angle is moot, but the operation-selection problem is severe and unaddressed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v0.0.27- Changed
agenteng2 fields changed- added
Input schema / $defs / Request / properties / include_a2aAdded value: +{ + "default": false, + "title": "Include A2A", + "type": "boolean" +} - changed
Input schema / $defs / Request / properties / operation / enumPrevious value: -[ - "events", - "event", - "agenda", - "speakers", - "speaker", - "talks", - "talk", - "faq", - "venue", - "sponsors", - "conduct", - "themes", - "about", - "hq", - "guide", - "now", - "next", - "live", - "bingo", - "tickets", - "recordings", - "a2a-talks", - "search", - "ask", - "chat", - "participate", - "discover", - "disciplines", - "tools", - "tool" -]New value: +[ + "events", + "event", + "agenda", + "speakers", + "speaker", + "talks", + "talk", + "faq", + "venue", + "sponsors", + "conduct", + "themes", + "about", + "hq", + "guide", + "now", + "next", + "live", + "bingo", + "tickets", + "recordings", + "a2a-talks", + "gallery", + "search", + "ask", + "chat", + "participate", + "discover", + "disciplines", + "tools", + "tool" +]
1 tool update
v0.0.23- Changed
agenteng2 fields changed- changed
Input schema / $defs / Request / properties / operation / enumPrevious value: -[ - "events", - "event", - "agenda", - "speakers", - "speaker", - "talks", - "talk", - "faq", - "venue", - "sponsors", - "conduct", - "themes", - "about", - "hq", - "now", - "next", - "live", - "bingo", - "tickets", - "recordings", - "search", - "ask", - "chat", - "participate", - "discover", - "disciplines", - "tools", - "tool" -]New value: +[ + "events", + "event", + "agenda", + "speakers", + "speaker", + "talks", + "talk", + "faq", + "venue", + "sponsors", + "conduct", + "themes", + "about", + "hq", + "guide", + "now", + "next", + "live", + "bingo", + "tickets", + "recordings", + "a2a-talks", + "search", + "ask", + "chat", + "participate", + "discover", + "disciplines", + "tools", + "tool" +] - changed
Input schema / $defs / Request / properties / section / anyOfPrevious value: -[ - { - "enum": [ - "manifesto", - "mindset", - "reading", - "organiser", - "chair", - "connect" - ], - "type": "string" - }, - { - "type": "null" - } -]New value: +[ + { + "maxLength": 64, + "type": "string" + }, + { + "type": "null" + } +]
1 tool update
v0.0.15- Changed
agenteng17 fields changed- added
Input schema / $defs / ChatTurnAdded value: +{ + "additionalProperties": false, + "properties": { + "content": { + "maxLength": 2000, + "minLength": 1, + "title": "Content", + "type": "string" + }, + "role": { + "enum": [ + "user", + "assistant" + ], + "title": "Role", + "type": "string" + } + }, + "required": [ + "role", + "content" + ], + "title": "ChatTurn", + "type": "object" +} - removed
Input schema / $defs / DraftRemoved value: -{ - "additionalProperties": false, - "properties": { - "abstract": { - "default": "", - "maxLength": 6000, - "title": "Abstract", - "type": "string" - }, - "audience": { - "default": "", - "maxLength": 500, - "title": "Audience", - "type": "string" - }, - "city": { - "enum": [ - "London", - "San Francisco" - ], - "title": "City", - "type": "string" - }, - "contact_email": { - "default": "", - "maxLength": 254, - "title": "Contact Email", - "type": "string" - }, - "event_id": { - "anyOf": [ - { - "maxLength": 128, - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Event Id" - }, - "future_event": { - "default": true, - "title": "Future Event", - "type": "boolean" - }, - "kind": { - "default": "talk", - "enum": [ - "talk", - "workshop", - "event_idea", - "feedback" - ], - "title": "Kind", - "type": "string" - }, - "outcomes": { - "items": { - "maxLength": 500, - "minLength": 1, - "type": "string" - }, - "maxItems": 5, - "title": "Outcomes", - "type": "array" - }, - "public_links": { - "items": { - "format": "uri", - "maxLength": 2083, - "minLength": 1, - "type": "string" - }, - "maxItems": 5, - "title": "Public Links", - "type": "array" - }, - "schema_version": { - "const": 1, - "default": 1, - "title": "Schema Version", - "type": "integer" - }, - "speaker_name": { - "default": "", - "maxLength": 120, - "title": "Speaker Name", - "type": "string" - }, - "title": { - "default": "", - "maxLength": 160, - "title": "Title", - "type": "string" - } - }, - "required": [ - "city" - ], - "title": "Draft", - "type": "object" -} - added
Input schema / $defs / Request / properties / atAdded value: +{ + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "At" +} - removed
Input schema / $defs / Request / properties / confirmedRemoved value: -{ - "default": false, - "title": "Confirmed", - "type": "boolean" -} - removed
Input schema / $defs / Request / properties / draftRemoved value: -{ - "anyOf": [ - { - "$ref": "#/$defs/Draft" - }, - { - "type": "null" - } - ], - "default": null -} - removed
Input schema / $defs / Request / properties / draft_formatRemoved value: -{ - "default": "json", - "enum": [ - "json", - "markdown" - ], - "title": "Draft Format", - "type": "string" -} - changed
Input schema / $defs / Request / properties / format / enumPrevious value: -[ - "json", - "ics" -]New value: +[ + "json", + "ics", + "text", + "svg", + "html" +] - added
Input schema / $defs / Request / properties / historyAdded value: +{ + "items": { + "$ref": "#/$defs/ChatTurn" + }, + "maxItems": 6, + "title": "History", + "type": "array" +} - removed
Input schema / $defs / Request / properties / interestsRemoved value: -{ - "items": { - "maxLength": 200, - "type": "string" - }, - "maxItems": 20, - "title": "Interests", - "type": "array" -} - changed
Input schema / $defs / Request / properties / operation / enumPrevious value: -[ - "events", - "event", - "agenda", - "speakers", - "tickets", - "recordings", - "search", - "plan", - "ask", - "participate", - "discover", - "disciplines", - "tools", - "tool", - "proposal_draft", - "proposal_preview", - "proposal_export", - "proposal_prepare", - "proposal_submit", - "proposal_status", - "proposal_withdraw" -]New value: +[ + "events", + "event", + "agenda", + "speakers", + "speaker", + "talks", + "talk", + "faq", + "venue", + "sponsors", + "conduct", + "themes", + "about", + "hq", + "now", + "next", + "live", + "bingo", + "tickets", + "recordings", + "search", + "ask", + "chat", + "participate", + "discover", + "disciplines", + "tools", + "tool" +] - removed
Input schema / $defs / Request / properties / preview_referenceRemoved value: -{ - "anyOf": [ - { - "maxLength": 128, - "minLength": 32, - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Preview Reference" -} - removed
Input schema / $defs / Request / properties / receiptRemoved value: -{ - "anyOf": [ - { - "maxLength": 32, - "minLength": 32, - "pattern": "^[a-f0-9]+$", - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Receipt" -} - added
Input schema / $defs / Request / properties / sectionAdded value: +{ + "anyOf": [ + { + "enum": [ + "manifesto", + "mindset", + "reading", + "organiser", + "chair", + "connect" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Section" +} - added
Input schema / $defs / Request / properties / seedAdded value: +{ + "anyOf": [ + { + "maximum": 9007199254740992, + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Seed" +} - added
Input schema / $defs / Request / properties / session_idAdded value: +{ + "anyOf": [ + { + "maxLength": 128, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Session Id" +} - added
Input schema / $defs / Request / properties / sizeAdded value: +{ + "default": 5, + "enum": [ + 4, + 5 + ], + "title": "Size", + "type": "integer" +} - added
Input schema / $defs / Request / properties / speaker_idAdded value: +{ + "anyOf": [ + { + "maxLength": 128, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Speaker Id" +}
1 tool update
v0.1.0- First observed
agenteng
TDQS
Scored across 1 tool
With only one tool there is no risk of an agent picking the wrong tool, so cross-tool ambiguity is nil. However, the single tool internally bundles three unrelated capabilities (conference discovery, a tools directory, and factual lookups), which blurs its own scope rather than being a crisp, single-purpose operation.
There is only one tool so no pattern can be established or violated, and the name simply mirrors the server name (agenteng). It is a plain lowercase identifier — readable, but with no verb_noun convention to judge against, so this is neutral rather than good.
A single tool is too thin for a surface that apparently spans three distinct domains: event discovery in two cities, a catalog across twelve disciplines, and a public facts database. Each of these would normally justify at least its own listing/query tool.
The surface offers only one read-oriented entry point with no distinct operations for filtering conferences, paging through twelve disciplines of tools, or scoping fact queries. There are no lifecycle or drill-down operations, leaving most expected workflows as dead ends.
Maintenance
Related MCP Connectors
Gateway between LLM agents and world data through eight tools and a bundled endpoint catalog.
Discover, inspect and run 63,000+ agent tools from one balance. Pay per call, no subscriptions.
Directory of APIs, merchants, and tools AI agents can actually use.
Independent directory of agentic AI tools — search, compare & recommend via MCP. Read-only.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceExposes the conference schedule as tools for ChatGPT, allowing attendees to view talks and buy tickets through natural language.1MIT
- AlicenseNot gradedqualityCmaintenanceExposes an OpenAPI catalog as tools for AI agents (e.g., Claude Code, Cursor) to query API endpoints via list_endpoints and get_endpoint tools, enabling interactive API exploration without a browser.2 npmMIT
- AlicenseNot gradedqualityAmaintenanceEnables AI assistants and IDEs to work with the AGNTCY Agent Directory, providing tools for validating, publishing, searching agent records, and navigating OASF taxonomies.3Apache 2.0
- AlicenseNot gradedqualityBmaintenanceExposes a five-agent event operations fleet as 12 MCP tools, letting any MCP client detect scheduling conflicts, route notifications, brief executives, chase vendor SLAs, enforce GDPR, and design bespoke agent fleets via live LLM calls.MIT