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

T3CB25: MCP – The Duct Tape of the AI era?

T3CB25: MCP – The Duct Tape of the AI era?

Avatar for Martin Helmich

Martin Helmich

October 17, 2025
Tweet

More Decks by Martin Helmich

Other Decks in Programming

Transcript

  1. MARTIN HELMICH @mittwald THE DUCT TAPE OF THE AI ERA

    OR : STUFF YOU CAN DO WITH THE MODEL CONTEXT PROTOCOL
  2. MARTIN HELMICH mittwald Head of Architecture & Developer Relations TYPO3

    Association Board Member PHWT Lecturer, Software Engineering & Cloud Computing
  3. _ Niche knowledge might not be included in the LLM’s

    training data (who or what is mittwald? who or what is TYPO3? ) _ LLMs infer text output, but cannot “do” anything beyond that
  4. MCP SERVER JSON - RPC over: _ stdio (local) _

    HTTP (remote) MCP CLIENT HOST LLM contains “tool calls” as structured ( JSON or XML ) output segments in predefined formats provides available tools in LLM context
  5. MCP SERVER MCP CLIENT INITIALIZATION ( initialize) _ IN/OUT :

    Version Negotiation _ IN/OUT : Identity Exchange _ OUT : Capability Discovery (tools, resources, prompts) TOOL DISCOVERY ( tools/list) _ OUT : Name and description, Input schema TOOL CALL ( tools/call) _ IN : Tool name, Input data _ OUT : Tool response FULL SPECIFICATION AT https://modelcontextprotocol.io/specification/2025 - 06 - 18
  6. martin @ local $ composer require hn/typo3-mcp-server SHOUT OUT @

    MARCO PFEIFFER : https://github.com/hauptsacheNet/typo3-mcp-server
  7. { "mcpServers": { "typo3": { "command": "mw", "args": [ "app",

    "exec", "--quiet", "--installation-id=a-XXXXX", "vendor/bin/typo3 mcp:server" ] } } } HERE : Use an SSH connection to tunnel the MCP stream to your local machine. See https://developer.mittwald.de/cli/ for more information.
  8. martin @ local $ composer require mcp/sdk INFORMATION ON SDKS

    : https://modelcontextprotocol.io/docs/sdk OFFICIAL SDKS AVAILABLE FOR : TypeScript | Python | Go | Kotlin | Swift Java | C# | Ruby | Rust | PHP
  9. <?php namespace App; use Mcp\Capability\Attribute\McpTool; use Mcp\Capability\Attribute\McpResource; class CalculatorElements {

    /** * Adds two numbers together. * * @param int $a The first number * @param int $b The second number * @return int The sum of the two numbers */ #[McpTool] public function add(int $a, int $b): int { return $a + $b; } }
  10. #!/usr/bin/env php <?php declare(strict_types=1); require_once __DIR__ . '/vendor/autoload.php'; use Mcp\Server;

    use Mcp\Server\Transport\StdioTransport; $server = Server::builder() ->setServerInfo('Calculator Server', '1.0.0') ->setDiscovery(__DIR__, ['.']) ->build(); $transport = new StdioTransport(); $server->run($transport);
  11. services: openwebui: image: ghcr.io/open-webui/open-webui:main environment: WEBUI_URL: https://llm.p-XXXXX.project.space OPENAI_API_BASE_URL: https://llm.aihosting.mittwald.de/v1 OPENAI_API_KEY:

    sk-XXX ports: - 8080:8080 volumes: - data:/app/backend/data - logs:/app/backend/logs - config:/app/backend/config WANT TO KNOW MORE? https://www.mittwald.de/mstudio/ai-hosting volumes: data: {} logs: {} config: {}
  12. https://www.mittwald.de/karriere WE’RE HIRING Developer Relations Engineer Infrastructure Engineer CMS Support

    Engineer Product Owner CMS Hosting CMS Product Marketing Manager (all genders, on-site) MARTIN HELMICH [email protected] [email protected]