Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Functional Intelligence: Agents, MCP and maybe ...

Functional Intelligence: Agents, MCP and maybe the end of the Web?

We spend countless hours navigating poorly designed interfaces, searching for information, and completing tedious tasks like digital form filling—fighting with systems that should serve us, not consume our time. What if we could eliminate these frustrating interfaces and processes entirely?

This talk touches on a future where autonomous systems, powered by standardised protocols, transform how we interact with digital services and fundamentally reshape the human web experience. Instead of humans adapting to clunky UIs and processes, intelligent agents handle these tasks by directly communicating with each other.

The Model Context Protocol (MCP) is leading this transformation by providing a standardised way to provide AI models with contextual information, allowing them to act on our behalf. Using a real-world example, we'll explore MCP's core primitives and demonstrate how http4k's new MCP SDK fuses these concepts with the functional, clean, and testable APIs that http4k is known for.

You'll see how a task that once required multiple manual steps becomes automated through agentic interfaces built with just a few simple functions—all while maintaining http4k's philosophy of zero magic and exceptional testability.

This isn't just about efficiency—it's about the next wave of technological change that could fundamentally transform our relationship with digital systems, and reshape how we build services that genuinely help our users rather than frustrate them.

Avatar for David Denton

David Denton

May 08, 2025
Tweet

More Decks by David Denton

Other Decks in Technology

Transcript

  1. What’s the plan? •What have we done to ourselves? •LLMs

    to the rescue… maybe •Smoothing the path with MCP (and http4k!) •Reimagining how things could be •Some words of warning…
  2. “Just fill in this form”* Me My Mac 1. Get

    my details *Names have been changed to protect the guilty
  3. “Just fill in this form”* Me My Mac 1. Get

    my details Acme Insurance.com 2 . Search for the form *Names have been changed to protect the guilty
  4. “Just fill in this form”* Me My Mac 1. Get

    my details Acme Insurance.com 2 . Search for the form *Names have been changed to protect the guilty 3 . Phone the call centre
  5. “Just fill in this form”* Me My Mac 1. Get

    my details Acme Insurance.com 2 . Search for the form 4. Lookup orders Rainforest.com *Names have been changed to protect the guilty 3 . Phone the call centre
  6. “Just fill in this form”* Me My Mac 1. Get

    my details Acme Insurance.com 2 . Search for the form 5. Get invoice 4. Lookup orders Rainforest.com *Names have been changed to protect the guilty 3 . Phone the call centre
  7. “Just fill in this form”* Me My Mac 1. Get

    my details Acme Insurance.com 2 . Search for the form 5. Get invoice 4. Lookup orders Rainforest.com *Names have been changed to protect the guilty 3 . Phone the call centre 6. Convert file to PDF
  8. “Just fill in this form”* Me My Mac 1. Get

    my details Acme Insurance.com 2 . Search for the form 7. Raise claim, attach invoice 5. Get invoice 4. Lookup orders Rainforest.com *Names have been changed to protect the guilty 3 . Phone the call centre 6. Convert file to PDF
  9. “Just fill in this form”* Me My Mac 1. Get

    my details Acme Insurance.com 2 . Search for the form 8. Add a todo to track it 7. Raise claim, attach invoice 5. Get invoice 4. Lookup orders Rainforest.com *Names have been changed to protect the guilty 3 . Phone the call centre 6. Convert file to PDF
  10. How do LLM interactions work? LLM Client Soon-to-be automated worker

    Question ModelParameters Message Message Message Tools Question
  11. How do LLM interactions work? LLM Client Soon-to-be automated worker

    Question ModelParameters Message Message Message Tools Question Message Content Usage Display Content
  12. How do LLM interactions work? LLM Client Soon-to-be automated worker

    Question ModelParameters Message Message Message Tools Question Message Content Usage Display Content Message Message Message Message ModelParameters Message Message Message Tools Follow up
  13. How do LLM interactions work? LLM Client Soon-to-be automated worker

    Question ModelParameters Message Message Message Tools Question Message Content Usage Display Content Message Message Message Message ModelParameters Message Message Message Tools Follow up Message Message Message Content Usage More content
  14. Conclusions •LLMs are logical and can visualise contextually •But they

    are too naive to be trusted •To be truly useful, they need to be connected to: 1. Real world data 2. Some decent instructions!
  15. What is MCP? •Defines a common unified API for clients

    to connect •Standardises message format •Reimagines interaction model as capabilities “Enables seamless integration between LLM applications and external data sources and tools”
  16. There is a type bit of hype! •Number of servers

    6494* •SDKs in Go, Java, TS, Python…. •Rapid adoption by big-tech - the below were announced whilst I wrote this talk *At time of slide
  17. http4k-mcp-desktop Secure, multi-OS protocol bridge MCP SDK Build functional &

    testable MCP servers MCP Client Connect to MCPs (HTTP, SSE, WS)
  18. MCP Essentials •Standardised message format for interactions (JSON-RPC) •Reimagines interaction

    model as capabilities: Completions Prompts Tools Resources Sampling
  19. Templated instructions for an LLM Prompts List Prompts Get prompt

    for {arguments} Prompt list updated notification Client Server
  20. List Tools Call tool {arguments} Tool list updated notification Tools

    Perform an (user authorised) structured interaction Client Server
  21. List Resources Read Resource {url} Resource list updated notification Resources

    Retrieve/subscribe to URI-based data Subscribe {url} Resource {url} updated notification Client Server
  22. MCP “Server” (Local) MCP Setup: 2024 spec Workstation LLM Client

    MCP “Server” (Bridge) HTTP LLM Cloud Service HTTP StdIo Meat-based Supervisor Remote Remote (API) (LLM API) MCP Server (SSE) SSE (PUSH) IO = File access Remote StdIo IO HTTP (POST)
  23. MCP “Server” (Local) MCP Setup: 2025 spec Workstation LLM Client

    HTTP LLM Cloud Service HTTP Remote Remote (API) (LLM API) MCP Server (HTTP) = File access Remote IO HTTP (+optional SSE) StdIo Meat-based Supervisor StdIo MCP “Server” (Bridge) IO
  24. an entire HTTP ecosystem • Support for 2025 MCP spec

    in > v6.6.0.0 • Full integration with http4k Security APIs • Zero reflection == Serverless & GraalVM • Pro license or as part of http4k EE • Free for non-commercial, non-profit, research https://mcp.http4k.org
  25. Let’s revisit our process LLM (supervised by me) My Mac

    1. Completion (Details) *Names have been changed to protect the guilty
  26. Let’s revisit our process LLM (supervised by me) My Mac

    1. Completion (Details) Acme Insurance.com 2 . Prompt (instructions) *Names have been changed to protect the guilty
  27. Let’s revisit our process LLM (supervised by me) My Mac

    1. Completion (Details) Acme Insurance.com 2 . Prompt (instructions) *Names have been changed to protect the guilty 3 . Have a nice cup of tea
  28. Let’s revisit our process LLM (supervised by me) My Mac

    1. Completion (Details) Acme Insurance.com 2 . Prompt (instructions) 4. Read Resource (Orders) Rainforest.com *Names have been changed to protect the guilty 3 . Have a nice cup of tea
  29. Let’s revisit our process LLM (supervised by me) My Mac

    1. Completion (Details) Acme Insurance.com 2 . Prompt (instructions) 5. Tool Call (Invoice) 4. Read Resource (Orders) Rainforest.com *Names have been changed to protect the guilty 3 . Have a nice cup of tea
  30. Let’s revisit our process LLM (supervised by me) My Mac

    1. Completion (Details) Acme Insurance.com 2 . Prompt (instructions) 5. Tool Call (Invoice) 4. Read Resource (Orders) Rainforest.com *Names have been changed to protect the guilty 6. Tool call (Convert) 3 . Have a nice cup of tea
  31. Let’s revisit our process LLM (supervised by me) My Mac

    1. Completion (Details) Acme Insurance.com 2 . Prompt (instructions) 7. Tool call (Raise) 5. Tool Call (Invoice) 4. Read Resource (Orders) Rainforest.com *Names have been changed to protect the guilty 6. Tool call (Convert) 3 . Have a nice cup of tea
  32. Let’s revisit our process LLM (supervised by me) My Mac

    1. Completion (Details) Acme Insurance.com 2 . Prompt (instructions) 8. Tool call (Track) 7. Tool call (Raise) 5. Tool Call (Invoice) 4. Read Resource (Orders) Rainforest.com *Names have been changed to protect the guilty 6. Tool call (Convert) 3 . Have a nice cup of tea
  33. How does Tool Calling work? LLM Client MCP ToolCall Usage

    ModelParameters Message Message Message Tools Message
  34. How does Tool Calling work? LLM Client MCP ToolCall Usage

    ToolCall Approve ModelParameters Message Message Message Tools Message
  35. How does Tool Calling work? LLM Client MCP ToolCall Usage

    Result Message Message Result ModelParameters Message Message Message Tools ToolCall Approve ModelParameters Message Message Message Tools Message
  36. How does Tool Calling work? LLM Client Usage Message Message

    Message Content MCP ToolCall Usage Result Message Message Result ModelParameters Message Message Message Tools ToolCall Approve ModelParameters Message Message Message Tools Message
  37. Tool poisoning attack Client O!cial MCP EvilMCP™ LLM Poison tool

    Poisons intercepts operation Nice tool Query
  38. Tool poisoning attack Client O!cial MCP EvilMCP™ LLM Poison tool

    Poisons intercepts operation Nice tool Approves usage Query
  39. Tool poisoning attack Client O!cial MCP EvilMCP™ LLM Poison tool

    Poisons intercepts operation Nice tool Approves usage Query with poisoned tool instructions LLM requests poisoned action Query
  40. Tool poisoning attack Client O!cial MCP EvilMCP™ LLM Poison tool

    Poisons intercepts operation Nice tool Approves usage Query with poisoned tool instructions LLM requests poisoned action Query Call with exfiltration
  41. Recommendations •Exercise extreme caution! •Access to your machine == GAME

    OVER •95% of all published servers are “uno!cial” •MCP currently safe for purely internal tools •Lots of work for community to do!
  42. Summary: http4k is still bullish on MCP •MCPs give LLMs

    superpowers… •…but open up a new world of risk •LLM visualisations could replace UIs •Expect ecosystem gold rush … with caveats
  43. Thank you! Questions? David Denton Engineering Lead | CICD |

    Security | Advisory | Training https://clockwork.ing/ https://mcp.http4k.org