Contents
  1. MCP's integration boundary
  2. Tools as callable operations
  3. Resources as addressable information
  4. Prompts as reusable interaction templates
  5. Message exchange and session readiness
  6. Discovery and changing inventories
  7. Transports and connection state
  8. Connection authorization and operation permission
  9. Authority of server-provided content
  10. Optional requests for client assistance
  11. An issue review from discovery to confirmed state
  12. Failures, cancellation and uncertain effects
  13. Interoperability evidence and integration fit
  14. Check understanding
  15. Open questions
  16. Selected talks
  17. References
  18. Talk library
← All topics

Model Context Protocol

Model Context Protocol connects AI applications to providers of tools and information. Its value is a reusable integration contract; useful execution still depends on application decisions and backend behavior. An issue-tracker integration makes those boundaries concrete: discovering an update operation, permitting it, executing it, and confirming the resulting state are separate achievements.

MCP's integration boundary

The Model Context Protocol architecture separates three roles. The host is the AI application coordinating model interaction, context and consent. A client inside it maintains a protocol session with one server, which exposes capabilities. These are logical roles; they need not occupy separate machines. The teaching baseline here is revision 2025-06-18, not a claim about the latest revision.

An agent runtime is application machinery that coordinates model requests and execution. MCP can supply capabilities through an adapter while the runtime retains the decision loop and context management. Scheduling, persistence and recovery belong to Harness Engineering. Moving an issue-tracker adapter behind an MCP server changes its callers, not the need to implement it.

The standardized boundary

Example

Clients standardize access; backend adapters remain.

Membership edges locate clients inside the host. Data arrows show outbound paths only; responses return through the corresponding interfaces.
Read the diagram as text
  • Host application. Context, model interaction and policy.
  • Model.
  • Issue client.
  • Document client.
  • Issue MCP server.
  • Document MCP server.
  • Issue backend.
  • Document backend.
  • Host applicationModel: Data: model input.
  • Host applicationIssue client: Contains client.
  • Host applicationDocument client: Contains client.
  • Issue clientIssue MCP server: Data: MCP requests.
  • Document clientDocument MCP server: Data: MCP requests.
  • Issue MCP serverIssue backend: Data: backend API.
  • Document MCP serverDocument backend: Data: backend API.
IntegrationReusable boundaryWork retained
Direct adapterAn application calls its own integration functions.Backend semantics, permissions, failures and maintenance.
MCP serverSeveral compatible applications discover and invoke the same interfaces.Backend adapter plus server deployment, client compatibility and operating controls.

Tools as callable operations

A tool is a named operation with an argument contract and returned content. tools/list discovers definitions; tools/call supplies a name and arguments. inputSchema describes admissible arguments. An optional outputSchema constrains structured results, and clients should validate them. Tool contracts explain schema shape versus operational meaning.

In an example wrapper, update_issue accepts repository, issue number and labels. Its result can include server-produced JSON in structuredContent, accompanied by serialized JSON in a text content block. This is returned application data, distinct from constrained model generation. Descriptions guide selection; annotations such as readOnlyHint do not enforce permission.

From declaration to execution

Model output becomes an operation only after dispatch.

Discovery feeds model declarations. A proposal passes an application gate before execution; returned data is validated before downstream use.
Read the diagram as text
  • Discovered definition.
  • Host adaptation.
  • Model proposal.
  • Dispatch gate.
  • Rejected; no dispatch.
  • Server execution.
  • Returned result.
  • Host result validation.
  • Discovered definitionHost adaptation: Data: schema.
  • Host adaptationModel proposal: Data: model declaration.
  • Model proposalDispatch gate: Data: proposed arguments.
  • Dispatch gateRejected; no dispatch: Control: denied.
  • Dispatch gateServer execution: Control: authorized dispatch.
  • Server executionReturned result: Data: result.
  • Returned resultHost result validation: Data: validation input.

The host adapts discovered declarations to its model provider's tool interface. The model proposes an operation; application code decides whether to dispatch it through the MCP client. The returned observation can then inform another model request. An SDK may automate this loop, but that automation is an SDK behavior rather than orchestration supplied by MCP.

Resources as addressable information

An MCP resource is information identified by a URI, an address that need not be a web URL or physical file. resources/list discovers descriptions; resources/templates/list exposes parameterized addresses; resources/read retrieves text or base64 binary. A MIME type labels the content format.

An issue wrapper might resolve issue://{repository}/{number} into issue://demo/42. Reading supplies a snapshot; the host separately decides whether to include it. Application-controlled describes that decision point, even if a model helps choose the resource. Context selection and refresh govern its usefulness in later requests.

One resource, successive snapshots

Example

Notification, retrieval and inclusion are separate.

1 / 4 · Included

Host includes A.

Subscription registers update interest independently of inventory-change support. The same resource persists; old snapshots remain historical after replacement.
Read the diagram as text
  • Issue resource.
  • Snapshot A.
  • A included.
  • Refresh required.
  • Snapshot B.
  • B included.
  • Issue resourceSnapshot A: Read.
  • Snapshot AA included: Host inclusion.
  • Issue resourceRefresh required: Update notice.
  • Issue resourceSnapshot B: Fresh read.
  • Snapshot BB included: Host replacement.
  1. Included. Host includes A. Active: Issue resource, Snapshot A, A included. New: Issue resource, Snapshot A, A included.
  2. Changed. Notice identifies changed content. Active: Issue resource, Snapshot A, A included, Refresh required. New: Refresh required.
  3. Retrieved. Read obtains B; A remains included. Active: Issue resource, Snapshot A, A included, Refresh required, Snapshot B. New: Snapshot B.
  4. Replaced. Host includes B; A remains historical. Active: Issue resource, Snapshot A, Snapshot B, B included. New: B included.

Resources can teach a workflow as well as supply records. Backlog.md exposes an overview and guides for task creation, execution and completion alongside callable task operations. The guides explain procedure; their presence does not guarantee that a client reads them or an agent follows them.

Prompts as reusable interaction templates

An MCP prompt is a server template that accepts arguments and returns messages. prompts/list discovers templates; prompts/get resolves one. Retrieving messages neither invokes a model nor executes their suggested operations. User-controlled means intended for explicit selection, not that the user authored or trusts every returned instruction.

An issue-review template can accept issue text and return a user message requesting a summary and proposed labels. This adapts the documented code-review pattern. The host chooses whether and how to incorporate the message through context assembly. A slash command is one possible interface, not a protocol requirement.

InterfaceExchangeMaterial and customary control
Tooltools/list → tools/callOperation result; commonly model-selected, application-dispatched.
Resourceresources/list → resources/readAddressed content; host selects context.
Promptprompts/list → prompts/getMessages; commonly user-selected, host-incorporated.

Message exchange and session readiness

JSON-RPC 2.0 is MCP's message envelope. A request names a method and carries a non-null string or integer ID. Its response repeats that ID and contains either result or error. A notification has no ID and receives no response. In this revision, each sender must not reuse its request IDs within the session.

Capability negotiation exchanges supported protocol features during initialization. Both peers declare capabilities. The client proposes a version; the server echoes it if supported or returns another supported version. Before readiness, traffic is restricted to the specified ping and logging exceptions. Normal operations must respect the agreed version and features.

Readiness requires agreement

A connection alone does not enable normal operations.

After a compatible response, the client sends initialized. An unsupported response version leads to disconnect.
Read the diagram as text
  • Transport open.
  • Negotiation pending.
  • Compatible; not ready.
  • Ready for negotiated operations.
  • Disconnected.
  • Transport openNegotiation pending: Client: initialize.
  • Negotiation pendingCompatible; not ready: Returned version supported.
  • Negotiation pendingDisconnected: Returned version unsupported.
  • Compatible; not readyReady for negotiated operations: Client: notifications/initialized.
  • Ready for negotiated operationsDisconnected: Transport termination.

For example, {"jsonrpc":"2.0","id":7,"method":"tools/list"} requests an inventory; {"jsonrpc":"2.0","id":7,"result":{"tools":[]}} answers that exchange. {"jsonrpc":"2.0","method":"notifications/initialized"} has no response to await. Correlation identifies an exchange, not a durable business operation.

Discovery and changing inventories

Server configuration locates a peer. Negotiation establishes feature families. Enumeration obtains concrete interfaces. These are separate stages: a tools capability does not identify which tools exist, and a discovered tool need not be presented to the model. Selective exposure is a host strategy for keeping a large catalog relevant, not a semantic-search guarantee supplied by pagination.

List responses may contain opaque nextCursor strings. Send that value as cursor for the next page; stop only when nextCursor is absent. Page length is not an end condition. Do not parse or modify cursors, assume fixed page sizes, or retain cursors across sessions. Pagination does not freeze a changing catalog.

SignalMeaningHost consequence
notifications/tools/list_changedSupported tool inventory changed.Enumerate again; reconsider exposure.
notifications/prompts/list_changedSupported prompt inventory changed.Refresh available templates.
notifications/resources/list_changedResource inventory changed.Refresh discovery.
notifications/resources/updatedSubscribed URI changed.Read again; update context separately.

An aggregated catalog should retain a routing identity such as (server, item name), rather than flattening overlapping names. Refresh also needs behavioral checks: a server can remain protocol-compatible while changing a tool or template enough to break a workflow. Supported syntax and stable meaning are different compatibility properties.

Transports and connection state

TransportMessage deliveryDeployment obligation
stdioClient launches a subprocess; newline-delimited JSON-RPC uses standard streams.Keep stdout protocol-only; send logs to stderr.
Streamable HTTPEach client message uses POST; responses can be JSON or Server-Sent Events.Support both formats and validate Origin; authentication and binding local servers to localhost are recommended.

Server-Sent Events, or SSE, carry server-to-client events; here those events contain protocol messages, not necessarily model tokens. An optional Mcp-Session-Id accompanies subsequent requests, alongside MCP-Protocol-Version. A session-related 404 requires fresh initialization. Disconnect is not cancellation in this revision. Optional event IDs and Last-Event-ID support replay on an interrupted stream, not business recovery.

Local deployment means approving executable code and the credentials available to its process. A local binary can use machine credentials and existing API libraries; it still needs appropriate permissions. A remote deployment moves process operation to a service operator. For a protected remote service, an authenticated network access boundary is required.

Session storage is an implementation concern. One demonstrated Lambda-hosted server stored session data in DynamoDB. That illustrates separating state from individual function executions; it establishes no general recovery guarantee. MCP defines no shutdown method in this revision: termination uses the transport.

Connection authorization and operation permission

Authentication establishes identity; authorization determines permitted access. A principal is the person or service whose authority is exercised. OAuth enables delegated access: a client obtains an access token from an authorization server and presents it to a resource server. Scope expresses requested or granted access; requested scope is not necessarily granted.

Under the pinned HTTP profile, the protected MCP service is an OAuth resource server, distinct from a resource returned by resources/read. Token audience identifies the intended recipient. Clients identify the MCP server through resource during authorization and token requests, and send bearer authorization on every HTTP request.

First access to a protected service

Token validation and operation permission are separate.

The first request discovers authorization through a 401 metadata pointer. Token acquisition precedes a new authenticated request and operation checks.
Read the diagram as text
  • Client request without token.
  • Discover authorization metadata.
  • Authorization-server grant.
  • MCP token validation.
  • Operation authorization.
  • Backend access.
  • Rejected; no operation dispatch.
  • Client request without tokenDiscover authorization metadata: 401: metadata pointer.
  • Discover authorization metadataAuthorization-server grant: Discovered authorization service.
  • Authorization-server grantMCP token validation: Grant obtained: bearer request.
  • Authorization-server grantRejected; no operation dispatch: Grant denied.
  • MCP token validationRejected; no operation dispatch: Invalid token.
  • MCP token validationOperation authorization: Valid for this server.
  • Operation authorizationRejected; no operation dispatch: Insufficient permission.
  • Operation authorizationBackend access: Allowed; separate upstream credential.

A bearer token is usable by its holder. Protected Resource Metadata tells the client where authorization services are located. PKCE, Proof Key for Code Exchange, ties code redemption to a client-held verifier: the authorization request carries a challenge, and the token request supplies the verifier. The authorization service checks their relationship before issuing the token.

BoundaryIndependent check
Host dispatchBind approval to actor, operation, target, material arguments and lifetime. Changed arguments need renewed approval; see approval binding.
MCP operationCheck the action against authority, not merely prior good behavior. Execution authority locates this gate.
Tenant dataA tenant is an isolated customer or organizational domain. Derive it from verified identity, then authorize the tenant-and-record combination; a model-supplied tenant ID is insufficient.
Backend APIValidate the incoming token for the MCP server. Never forward it upstream; use a separately authorized upstream token.

Authority of server-provided content

Indirect prompt injection places instructions in retrieved material to redirect model behavior across an intended instruction boundary. An issue description delivered through an authenticated MCP resource can still contain such instructions. AI Security explains the underlying attack; MCP adds concrete entry points through descriptions, prompt messages, resources and tool results.

Discovery itself can expose an instruction channel. Historical tool-poisoning experiments placed malicious instructions in a server's tool description and redirected calls to another server's legitimate email tool. The malicious tool did not need to execute. These demonstrations establish a possible influence path, not that every host or model follows every injected instruction.

Provenance records origin and transformation history. Preserve the issue's source when incorporating or summarizing its text, as explained in content transformations. If that text asks the assistant to send private notes elsewhere, the resulting proposal still needs independent authorization. Retrieved content cannot grant privileges or authorize disclosure.

Limit the information returned to what the task needs. Removing unnecessary personal details, credentials and internal fields reduces material available for later disclosure. This complements enforcement; it does not make the remaining content immune to injection. Read-only access can still be excessive when it exposes unrelated conversations or records.

Optional requests for client assistance

Negotiated client featureRequest and purposeBoundary retained
Samplingsampling/createMessage requests generation through the client.Host controls model access, selection and permissions. Model preferences are advisory; users should be able to review prompts and responses or deny the request.
Rootsroots/list requests relevant workspace locations, using file URIs in this revision.Clients apply permissions; servers validate paths. Declaring roots does not confine a process. Workspace isolation requires enforcement.
Elicitationelicitation/create requests user information using a message and flat schema of primitive fields.Sensitive information must not be requested. Accept with content, decline and cancel are distinct outcomes; supplying information is not blanket action approval.

During a tool operation, a server can request sampling, receive client-mediated model output, and then complete its operation. This avoids separately configuring the server's direct model access; it does not make inference free. The client must implement the reverse request, and the server must integrate its response into the ongoing work.

Request association is version-sensitive. On a POST response stream, server requests should relate to the originating client request; an optional GET stream may carry unrelated server requests. The stronger universal association requirement belongs to a later design. Host policy still governs what assistance is permitted.

An interactive host can present an elicitation form, while a background application may have no human respondent. Having the model fill a confirmation field does not establish human approval. Required assistance therefore needs explicit unsupported and declined outcomes, with continuation policy owned by the runtime.

An issue review from discovery to confirmed state

The example integration uses a constructed MCP wrapper over GitHub issue operations. update_issue, the issue URI and the review template are example design choices. GitHub's backend contract remains decisive: supplying labels replaces the set, an empty array clears it, and label changes without push access can be silently dropped. Protocol success alone cannot resolve those semantics.

Sender → receiverExchange or actionFact establishedContract
Client → protected serviceConnect and obtain authorization.Credential available for this service.HTTP authorization
Client ↔ serverInitialize; complete readiness.Compatible session features.MCP lifecycle
Client → serverEnumerate supported inventories.Advertised interfaces, across pages.MCP discovery
Client → serverGet review prompt; read issue 42.Messages and issue snapshot received.MCP interfaces
Host ↔ modelAssemble input; receive update proposal.Candidate action, not execution.Model adapter
Host ↔ userReview target and exact change.Bounded approval or rejection.Application policy
Client → server → backendtools/call invokes the wrapper; wrapper sends PATCH.Attempt and returned issue representation.MCP plus backend API
Host → backend, through adapterSeparate GET checks issue state.Observed state, not actor attribution.Backend verification

A replacement write couples freshness to approval. If approved labels were ['bug','triaged'] but a fresh read now contains ['bug','customer'], preserving existing labels changes the proposed replacement to ['bug','customer','triaged']. The host must renew approval for those changed arguments. This reasoning assumes no further write during review and dispatch; concurrent updates need a backend-supported conflict policy.

Prompts, resources and tools cooperate here because the host chooses that workflow; an integration need not use all three. Context assembly determines the model input. Result interpretation determines justified completion claims. A narrated delivery incident illustrates the distinction: a tool reported success although the message did not appear at the user-facing surface.

Failures, cancellation and uncertain effects

ObservationWhat it establishesNext interpretation
JSON-RPC error{"id":9,"error":{"code":-32602,"message":"Invalid params"},"jsonrpc":"2.0"} reports a protocol-level failure.Inspect the failed request.
Tool error{"isError":true,"content":[{"type":"text","text":"Update failed"}]} is a tool-result body.Execution reported failure, not success.
HTTP authorization rejection401: missing/invalid authorization; 403: insufficient permission; 400: malformed authorization request.Repair the corresponding authorization boundary.
Malformed resultReturned data fails its declared contract.Reject downstream use; execution may already have occurred.
Transport loss or deadlineThe caller lacks a usable final response.Determine backend outcome before repeating effects.

Progress is optional observation. A request supplies params._meta.progressToken, unique across active requests; notifications/progress returns increasing progress, optional total and optional message. Reports may be omitted and must stop after completion. Without a known total, a percentage is unjustified. Neither a progress report nor its token is a final result or durable job handle.

Committed state, uncertain caller

Example

Cancellation does not establish rollback.

1 / 4 · Dispatched

Caller waits for the update.

This constructed sequence separates backend state from caller knowledge. Read-back supplies a later observation; it does not establish who caused the change.
Read the diagram as text
  • Issue 42.
  • Update request.
  • Backend before update.
  • Backend update committed.
  • Caller awaiting response.
  • Caller outcome unknown.
  • Cancellation sent.
  • Read-back observed.
  • Issue 42Backend before update: Initial state.
  • Update requestBackend update committed: Backend effect.
  • Update requestCaller awaiting response: Caller waits.
  • Update requestCaller outcome unknown: No final response.
  • Caller outcome unknownCancellation sent: Stop request.
  • Backend update committedRead-back observed: Separate read.
  1. Dispatched. Caller waits for the update. Active: Issue 42, Update request, Backend before update, Caller awaiting response. New: Issue 42, Update request, Backend before update, Caller awaiting response.
  2. Committed. Backend commits; response is lost. Active: Issue 42, Update request, Backend update committed, Caller awaiting response. New: Backend update committed.
  3. Timed out. Cancellation cannot undo the commit. Active: Issue 42, Update request, Backend update committed, Caller outcome unknown, Cancellation sent. New: Caller outcome unknown, Cancellation sent.
  4. Reconciled. A fresh read observes resulting state. Active: Issue 42, Update request, Backend update committed, Cancellation sent, Read-back observed. New: Read-back observed.

Set request timeouts; on expiry, send cancellation and stop waiting. Progress may reset the timer, but retain an overall maximum. Excessively short timeouts can provoke retries and overload; excessively long waits retain resources. Remaining deadline budget must cover another attempt and its delay.

Either peer can send notifications/cancelled for its own previously issued, believed-active request; clients must not cancel initialize. Receivers should stop work and release resources, but may ignore unknown, completed or uncancellable requests. Senders should ignore late responses. Cancellation can arrive after completion and specifies no reversal of committed effects.

Idempotency makes retries of one logical operation avoid repeating its effect through a backend-enforced contract. A caller-provided operation key must be recorded atomically with the mutation and associated outcome; changed parameters under the same key require rejection. A JSON-RPC ID, log entry or replayed message does not implement that contract.

When a write's outcome is uncertain, retain its identity and seek authoritative status or reconcile state. Retry only under the backend's actual safety contract. Reversal requires a separate supported compensating action. Uncertain effects explains this boundary; durable execution belongs to Harness Engineering. Recovery controls must remain usable even when ordinary work is blocked.

Interoperability evidence and integration fit

A compatibility claim needs a named protocol revision, host, server, SDK versions and required feature set. The following matrix is a proposed test design, not executed results. Inspector documents fixtures for several interface cases, but neither those fixtures nor a successful connection certify the business workflow. Interface testing supplies the broader method.

CaseExpected observationSeparate assertionEvidence status
Incompatible returned versionClient disconnects.No normal operations dispatched.Proposed; unexecuted
Sampling unavailableHost does not promise unsupported assistance.Workflow reports its unmet requirement.Proposed; unexecuted
Paginated or changing catalogPages consumed; changes trigger refresh.Required operations remain selectable.Proposed; unexecuted
Duplicate names; incompatible schemaRouting or validation behavior is visible.Correct server chosen; unusable data rejected.Documented fixture categories; unexecuted
Denied actionEnforcement rejects the operation.Protected state remains unchanged.Proposed; unexecuted
Subscribed content changesNotification and subsequent host behavior recorded.Fresh context reaches the next decision.Documented fixture category; unexecuted
Response lost after a writeCaller records uncertainty.Reconciliation precedes any unsafe retry.Proposed; unexecuted

Correlate client, server and backend activity while keeping request, attempt and business-operation identities distinct. Cross-service identity explains propagation. Shared trace identifiers connect instrumented work; they do not prove correct authorization or reveal an uninstrumented provider's internals. Compatibility evidence should end with the state or delivery boundary the user actually cares about.

RequirementIntegration implication
One application owns its tools and loopA direct adapter can be sufficient; MCP is not required for tool use.
Several independently maintained hosts need reusable capabilitiesMCP can supply a shared interface, provided their required features interoperate.
An independent agent owns a delegated taskA2A provides task coordination and artifacts; it may use MCP internally. See Multi-Agent Systems.

Open questions

  1. Behavioral compatibility across server updates remains harder than message compatibility. A changed description or operation can alter an established workflow while remaining protocol-valid. Progress requires versioned workflow tests that detect semantic regressions, not only successful discovery.

  2. Portable human assistance remains difficult across interactive and background hosts. A valid elicitation request may have no suitable respondent, and model-filled confirmation is not human consent. Progress means explicit, tested outcomes for unavailable, declined and accepted interactions without silently broadening authority.

  3. Safe recovery across independently operated backends lacks a universal contract. After response loss, transport evidence cannot distinguish every committed effect from an unexecuted request. Progress requires documented operation-key retention, duplicate handling and authoritative reconciliation for each effectful integration.

Follow the curated reading path through the speakers and demonstrations behind this entry.

20 min

AI Engineer World's Fair 2025 · 2025

Building Protected MCP Servers

Den Delimarsky (DEVDIV) · Julia Kasper · Den Delimarsky

Cited in this entry

Separates authorization-server token issuance from protected-server validation and explains metadata-driven discovery.

Watch talk

Explore more talks

The rest of the library, beyond the curated path. Cited talks support this entry; reviewed transcripts were processed in full. Metadata candidates have not been reviewed as sources or verified as topic members.

159 matching talks

TalkSpeakerEventYear
Marlene Mhangami, Liam HamptonAI Engineer Europe 20262026
AI Engineering 101

Transcript reviewed

Noah HeinAI Engineer Summit 20232023
Roy DerksAI Engineer Summit 20252025
Philipp SchmidAI Engineer World's Fair 20252025
Alex GavrilescuAI Engineer Code 20252025
John WelshAI Engineer World's Fair 20252025
Harald KirschnerAI Engineer World's Fair 20252025
Sam MorrowAI Engineer Europe 20262026
Leonie MonigattiAI Engineer Europe 20262026
Ankur GoyalAI Engineer World's Fair 20252025
MCP is all you need

Cited in this entry

Samuel ColvinAI Engineer World's Fair 20252025
Lovina DmelloAI Engineer World's Fair 20262026
Simon WillisonAI Engineer World's Fair 20242024
Fouad MatinAI Engineer World's Fair 20252025
Liam McGarrigleAI Engineer Europe 20262026
Security Firewall for Agents

Transcript reviewed

Ryan DahlAI Engineer World's Fair 20262026
Vinoth GovindarajanAI Engineer World's Fair 20262026
Mike ChristensenAI Engineer Europe 20262026
Bennet FennerAI Engineer Europe 20262026
Nishant GuptaAI Engineer World's Fair 20262026
LLM Evals That Work IRL

Transcript reviewed

Aparna Dhinkaran, Aparna DhinakaranAI Engineer World's Fair 20242024
Damien MurphyAI Engineer World's Fair 20252025
David CramerAI Engineer World's Fair 20252025
Kim MaidaAI Engineer World's Fair 20262026
Jan CurnAI Engineer World's Fair 20252025
Antje BarthAI Engineer World's Fair 20252025
Ravi MadabhushiAI Engineer World's Fair 20262026
Tushar JainAI Engineer World's Fair 20262026
Harald Kirschner, Christopher HarrisonAI Engineer World's Fair 20252025
Nimrod HauserAI Engineer Europe 20262026
Siddharth AhujaAI Engineer World's Fair 20252025
Michael HablichAI Engineer Europe 20262026
Du’An Lightfoot, Banjo ObayomiAI Engineer World's Fair 20252025
Dan MasonAI Engineer World's Fair 20252025
Pedro RodriguesAI Engineer Europe 20262026
Sarmad QadriAI Engineer World's Fair 20252025
Rafael LeviAI Engineer Europe 20262026
The Future of MCP

Metadata candidate

David Soria ParraAI Engineer Europe 20262026
Ruben CasasAI Engineer Europe 20262026
Kent C. DoddsAI Engineer World's Fair 20252025
Ronan McGovernAI Engineer World's Fair 20252025
Ido Salomon, Liad YosefAI Engineer World's Fair 20262026
Pietro ZulloAI Engineer World's Fair 20262026
Matt CareyAI Engineer Europe 20262026
Theodora ChuAI Engineer World's Fair 20252025
Cornelia DavisAI Engineer World's Fair 20262026
Liad Yosef, Ido SalomonAI Engineer Europe 20262026
Garrett GalowAI Engineer Europe 20262026
Merve NoyanAI Engineer Europe 20262026
Alex Volkov, Benjamin EckelAI Engineer World's Fair 20252025
Tobin SouthAI Engineer World's Fair 20252025
Frédéric BartheletAI Engineer Europe 20262026
Ari HeljakkaAI Engineer World's Fair 20252025
Diego CarpenteroAI Engineer Europe 20262026
Sanja GrbicAI Engineer World's Fair 20262026
Barry Zhang, Mahesh MuragAI Engineer Code 20252025
Ezra Tanzer, Dan ArpinoAI Engineer World's Fair 20262026
Brendan O'LearyAI Engineer Europe 20262026
Cedric VidalAI Engineer World's Fair 20252025
Stephen ChinAI Engineer World's Fair 20252025
Zach BlumenfeldAI Engineer World's Fair 20252025
Uday Kiran Medisetty, Adam HudaAI Engineer World's Fair 20262026
Shawn "swyx" WangAI Engineer Europe 20262026
Armanas PovilionisAI Engineer World's Fair 20262026
Nick Nisi, Lizzie SiegleAI Engineer World's Fair 20252025
Olivier Leplus, Yohan LasorsaAI Engineer Europe 20262026
Nick Nisi, Zack ProserAI Engineer World's Fair 20252025
Beyang LiuAI Engineer Code 20252025
Anthropic for VPs of AI

Metadata candidate

Alexander Bricken, Joe BayleyAI Engineer Summit 20252025
Frank CoyleAI Engineer World's Fair 20262026
Henry MaoAI Engineer World's Fair 20252025
Abhishek BhardwajAI Engineer World's Fair 20252025
Marlene MhangamiAI Engineer Europe 20262026
Filip KozeraAI Engineer World's Fair 20252025
Louis-François Bouchard, Paul Iusztin, Samridhi VaidAI Engineer Europe 20262026
Julián Duque, Anush DSouzaAI Engineer World's Fair 20252025
Jeff NgAI Engineer World's Fair 20262026
Rita KozlovAI Engineer World's Fair 20252025
Angie JonesAI Engineer World's Fair 20262026
Cedric VidalAI Engineer World's Fair 20252025
Eric ZakariassonAI Engineer Europe 20262026
Nick TaylorAI Engineer Europe 20262026
Codex and Subagents

Metadata candidate

Vaibhav Srivastav, Katia Gil GuzmanAI Engineer Europe 20262026
Codex, Behind the Harness

Metadata candidate

Dominik KundelAI Engineer World's Fair 20262026
Šimon PodhajskýAI Engineer Europe 20262026
Jon Peck, Christopher HarrisonAI Engineer World's Fair 20252025
Containing Agent Chaos

Metadata candidate

Solomon HykesAI Engineer World's Fair 20252025
Context Is the New Code

Metadata candidate

Patrick DeboisAI Engineer Europe 20262026
Stephen ChinAI Engineer World's Fair 20262026
Zeke SikelianosAI Engineer World's Fair 20252025
Ben HylakAI Engineer World's Fair 20262026
Shawn Wang (swyx)AI Engineer World's Fair 20252025
Barry ZhangAI Engineer Summit 20252025
Katelyn LesseAI Engineer Code 20252025
May WalterAI Engineer World's Fair 20262026
Mounir MouawadAI Engineer World's Fair 20252025
Gaurav MishraAI Engineer World's Fair 20262026
KitzeAI Engineer World's Fair 20252025
Alex AtallahAI Engineer World's Fair 20252025
Gateways are All You Need

Metadata candidate

Karan SampathAI Engineer Europe 20262026
Keegan McCallumAI Engineer World's Fair 20262026
KP Sawhney, Ian BallantyneAI Engineer Europe 20262026
Ash Prabaker, Andrew WilsonAI Engineer Europe 20262026
Yogendra MirajeAI Engineer World's Fair 20252025
Jared HansonAI Engineer World's Fair 20252025
Kyle Jaejun LeeAI Engineer World's Fair 20262026
Identity for AI Agents

Metadata candidate

AI Engineer Code 20252025
Intro to GraphRAG

Metadata candidate

Zach BlumenfeldAI Engineer World's Fair 20252025
Suman DebnathAI Engineer World's Fair 20252025
Alex LissAI Engineer World's Fair 20252025
Robert ChandlerAI Engineer World's Fair 20252025
Sally Ann O'MalleyAI Engineer Europe 20262026
Adam BehrensAI Engineer World's Fair 20252025
Vincent KocAI Engineer Europe 20262026
Eashan SinhaAI Engineer World's Fair 20252025
Manuel OdendahlAI Engineer World's Fair 20252025
Drasko ProfirovicAI Engineer World's Fair 20262026
Mark Bain, Vasilije Markovic, Daniel Chalef, Alex GilmoreAI Engineer World's Fair 20252025
Sonny Merla, Mauro Luchetti, Mattia RedaelliAI Engineer Europe 20262026
Christopher HarrisonAI Engineer World's Fair 20252025
Juan Herreros ElorzaAI Engineer Europe 20262026
Yuval BelferAI Engineer World's Fair 20252025
Jon PeckAI Engineer World's Fair 20252025
Michael YuanAI Engineer World's Fair 20252025
Joshua SnyderAI Engineer Europe 20262026
Eno ReyesAI Engineer World's Fair 20252025
Skills are the New SDKs

Metadata candidate

Elvin AghammadzadaAI Engineer World's Fair 20262026
Louis Knight-WebbAI Engineer Europe 20262026
Al HarrisAI Engineer Code 20252025
Brandon WaselnukAI Engineer Europe 20262026
Vikash Agrawal, LindaAI Engineer World's Fair 20252025
Sohail Shaikh, Ankush RastogiAI Engineer World's Fair 20262026
Christopher Harrison, John PeckAI Engineer World's Fair 20252025
Corey GallonAI Engineer World's Fair 20262026
Beyang LiuAI Engineer World's Fair 20252025
Justin SchroederAI Engineer World's Fair 20262026
Junyang LinAI Engineer World's Fair 20252025
William LyonAI Engineer World's Fair 20252025
Paul Klein IVAI Engineer World's Fair 20252025
Manoj Nair, Ezra, RandallAI Engineer World's Fair 20262026
Rafal Wilinski, Vitor BaloccoAI Engineer World's Fair 20252025
Jon PeckAI Engineer World's Fair 20252025
Erik HanchettAI Engineer World's Fair 20262026
Harald KirschnerAI Engineer World's Fair 20252025
Itamar FriedmanAI Engineer World's Fair 20252025
Lucas PalmaAI Engineer World's Fair 20262026
Lei ZhangAI Engineer Code 20252025
Why Agent Engineering

Metadata candidate

swyx (Shawn Wang)AI Engineer Summit 20252025
Sunil Pai, Matt CareyAI Engineer Europe 20262026
Zach BlumenfeldAI Engineer Europe 20262026
Kevin HouAI Engineer World's Fair 20252025
Rachel Lee Nabors (RL Nabors)AI Engineer Europe 20262026
Your agent is blindfolded

Metadata candidate

Johan LajiliAI Engineer Europe 20262026
Rafael LeviAI Engineer Europe 20262026
Hamza TahirAI Engineer World's Fair 20262026
Zack ProserAI Engineer Europe 20262026
Ramana Siddanth EmaniAI Engineer World's Fair 20262026
Mike PhippsAI Engineer World's Fair 20262026
Lisa OrrAI Engineer Code 20252025

References

Coverage and source review
Processed transcripts
34 processed in full · 5 in the curated path
Automated source review
Passed
Metadata candidates
130 unreviewed; not verified topic membership
Corpus version
1bd8e407b26a07b33815594e1b2db5f41827119a2b3cb6fbf240f9fc571fc767

Automated review checks source support; it is not publication approval.

A synthesis of selected conference talks and technical references. Citations link to the source material; they do not imply that every talk on this subject is included.

  1. MCP Architecture — revision 2025-06-18

    Participant definitions, responsibility map, isolation principles, and session-scoped capabilities in the pinned revision.

  2. Building (Agents) with Model Context Protocol

    MCP can supply standardized capabilities through an adapter while the agent framework retains responsibility for the execution loop and context management.

  3. Tool Calling Is Not Just Plumbing for AI Agents

    Model Context Protocol (MCP) provides a host/client/server boundary through which tool logic can live in a separate backend.

  4. A2A & MCP: Automating Business Processes with LLMs

    The speaker positions MCP, the Model Context Protocol, as a standard interface to external tools and context, and A2A as a remote-agent interface; locally controlled functions and agents often do not need either protocol.

  5. Your MCP Server is Bad and You Should Feel Bad

    MCP is not required merely to expose tools inside a fully controlled agent application; tool-interface design principles still apply without it.

  6. Tools — Model Context Protocol specification 2025-06-18

    Versioned primary protocol specification; tool definition, errors, and security considerations.

  7. MCP Tools — discovery and structured content, revision 2025-06-18

    Additional discovery and representation details beyond the supplied verified tool-contract and validation notes.

  8. AI Engineering with the Google Gemini 2.5 Model Family

    In the described MCP integration, the client discovers server tool schemas, supplies them to the model, and dispatches model-selected calls through the MCP client.

  9. AI Engineering with the Google Gemini 2.5 Model Family

    The demonstrated Google Gen AI SDK integration accepts an MCP session as a tool and automates the ordinary function-calling loop.

  10. MCP Resources — revision 2025-06-18

    Addressing, templates, representations, application-controlled context, and optional change signaling.

  11. Building (Agents) with Model Context Protocol

    The distinction separates model-selected actions from application-controlled context handling.

  12. Building (Agents) with Model Context Protocol

    The talk describes dynamic resources and prompts, plus resource subscriptions that notify clients about changed context.

  13. Backlog.md: Terminal Kanban Board for Managing Tasks with AI Agents — Alex Gavrilescu, Funstage

    Backlog.md uses MCP resources for workflow instructions, with an overview directing agents to guides for creation, execution, and completion.

  14. MCP Prompts — revision 2025-06-18

    Prompt discovery, argument expansion, returned messages, selection conventions, and inventory changes.

  15. Building (Agents) with Model Context Protocol

    MCP prompts can expose reusable, user-invoked templates for workflows and formatting conventions.

  16. MCP Base Protocol Overview — revision 2025-06-18

    Message correlation, notifications, errors, and minimum implementation requirements.

  17. MCP Lifecycle — revision 2025-06-18

    Initialization ordering, compatibility outcomes, negotiated optional features, termination, and timeout policy.

  18. The rise of the agentic economy on the shoulders of MCP

    The speaker recommends discovering and exposing tools as needed for the current workflow.

  19. MCP Pagination — revision 2025-06-18

    Complete inventory enumeration and cursor lifecycle in the pinned revision.

  20. MCP Inspector — official repository testing documentation

    Inspected upstream testing approach and documented fixture purposes.

  21. Building (Agents) with Model Context Protocol

    A server can remain MCP-compatible while changes to its tools, resources, or prompts break a user's workflow.

  22. MCP Transports — revision 2025-06-18

    Local framing, HTTP deployment, session identity, resumption, and reverse-request rules.

  23. Building Protected MCP Servers

    Local MCP binaries can use machine-context credential mechanisms and existing API libraries; multi-user machine scenarios remain an implementer concern.

  24. Building Agents at Cloud Scale — Antje Barth, AWS

    The remote MCP demonstration explicitly adds an authorizer and supplies a bearer token from the client; it presents this as a simple authorization example.

  25. Building Agents at Cloud Scale — Antje Barth, AWS

    The example adds a DynamoDB table for session data alongside the Lambda-hosted MCP server.

  26. RFC 6749 — OAuth 2.0 Authorization Framework

    Sections 1.1–1.2 and 3.3; plain-language foundations for delegated access and scope.

  27. The Protection of Information in Computer Systems

    1975 paper, design-principles section; university-hosted full text.

  28. MCP Authorization — revision 2025-06-18

    Pinned HTTP authorization discovery, intended recipient, credential separation, and rejection semantics.

  29. Building Protected MCP Servers

    The talk describes server-hosted resource metadata that identifies the resource and advertises authorization servers, supported bearer methods, and scopes.

  30. Your Insecure MCP Server Won't Survive Production — Tun Shwe, Lenses

    The illustrated flow combines discovery, PKCE, user consent, MCP token validation, and a separate token exchange for upstream access.

  31. Your Agent Didn’t Fail. Your Harness Did.

    Approval must remain bound to one specific action and its scope, identity, arguments, and lifetime; expiration should terminate the approval path.

  32. You Didn't Ship a Bug. You Just Wrote It for a Human.

    Probabilistic agent behavior requires deterministic authorization controls rather than confidence based on previous runs.

  33. OWASP Multi-Tenant Security: tenant context and resource access

    Official tenant-context management, database isolation, cross-tenant access prevention, and cache-isolation guidance.

  34. Not what you've signed up for: Compromising Real-World LLM-Integrated Applications with Indirect Prompt Injection

    Sections 2–3, background, attack surface and threat model; section 4, demonstrated attacks; section 5.2, limitations.

  35. Invariant Labs: MCP Security Notification—Tool Poisoning Attacks

    Tool-poisoning definition; Cursor experiments 1 and 2; MCP Rug Pulls. Adds discovery-time instructions and cross-server influence to the attack-surface map.

  36. Your Insecure MCP Server Won't Survive Production — Tun Shwe, Lenses

    Strip unnecessary response fields and mask sensitive fields before the agent receives them.

  37. Unlock Agent Autonomy: The Runtime for AI-Native Systems

    Read-only access to an entire service may expose unrelated sensitive content; task-specific capabilities should restrict what can be read.

  38. MCP Sampling — revision 2025-06-18

    Optional client-mediated generation and host review in the teaching revision.

  39. MCP Roots — revision 2025-06-18

    Root discovery, notifications, file-URI restriction, and implementation responsibilities.

  40. MCP Elicitation — revision 2025-06-18

    Optional structured user-input requests and their safety constraints.

  41. MCP is all you need

    MCP sampling lets a server request LLM inference through its client instead of separately configuring direct model access.

  42. MCP is all you need

    Sampling requires explicit client and server integration; the demonstrated Pydantic AI support was still a pull request at talk time.

  43. SEP-2260 — Require Server requests to be associated with a Client request

    Historical evidence resolving whether the stronger association rule belongs to the June 2025 teaching baseline.

  44. Your MCP Server is Bad and You Should Feel Bad

    Structured mid-execution elicitation can support approvals and dependent inputs, but relying on it requires compatible clients and a clear choice of who supplies the response.

  45. GitHub REST API endpoints for issues — get and update

    Concrete backend contract for a constructed issue-review and update example.

  46. Building Protected MCP Servers

    The described flow uses an HTTP 401 challenge pointing to Protected Resource Metadata, which identifies the authorization server and bootstraps OAuth discovery.

  47. MCP is all you need

    The speaker centers tool calling for this use case and considers prompts and resources less applicable.

  48. Your Agent Didn’t Fail. Your Harness Did.

    Internal acceptance does not prove the intended result appeared at the user-visible boundary.

  49. MCP tools: application security responsibilities

    User Interaction Model; Tool data type; Output Schema; Error Handling; Security Considerations.

  50. gRPC lifecycle: cancellation is not rollback

    RPC life cycle: Deadlines/Timeouts; RPC termination; Cancelling an RPC and its Warning.

  51. MCP Progress — revision 2025-06-18

    Progress correlation and reporting limits.

  52. AWS Well-Architected: Set Client Timeouts

    Implementation guidance and Implementation steps; end-to-end budget expression is an engineering derivation.

  53. MCP Cancellation — revision 2025-06-18

    Cancellation signaling, direction, exceptions, and timing in the pinned revision.

  54. Making retries safe with idempotent APIs — Amazon Builders' Library

    Primary engineering account; client request identifiers, atomicity, semantic equivalence, and late requests.

  55. Your Agent Didn’t Fail. Your Harness Did.

    Bound external waits, record terminal outcomes, and keep recovery commands outside the blocked work queue.

  56. OpenTelemetry: Context propagation

    Official OpenTelemetry concepts, trace/log correlation, custom protocols, and security best practices. Complements the transcript's MCP metadata demonstration with the general mechanism.

  57. Your Agent Didn’t Fail. Your Harness Did.

    Trace one real run from trigger identity through inherited state, authority, execution attempts, and surviving external evidence.

  58. Full Spec MCP: Hidden Capabilities of the MCP Spec — Harald Kirschner, Microsoft/VS Code

    Client, SDK, and documentation gaps can reinforce tools-only adoption even when the protocol offers richer interactions.

  59. A2A specification: task delegation and relationship to MCP

    Official current specification, task model and operations, agent discovery, and Appendix B. Direct-API versus protocol boundary is an engineering comparison.

  60. It's 10pm. Do You Know Where Your Agents Are?

    The proposed architecture places an authorization decision between the model's tool proposal and the runtime's authenticated call to the MCP server.

  61. Building Protected MCP Servers

    No: the client completes token acquisition, but the MCP server remains responsible for validating tokens before serving requests.

  62. Full Spec MCP: Hidden Capabilities of the MCP Spec — Harald Kirschner, Microsoft/VS Code

    Sampling lets a server request a client-provided LLM completion, enabling optional processing of server results.

  63. Building Protected MCP Servers

    The draft authorization design described in the talk separates the MCP resource server from the authorization server.