<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Gemini on while true do;</title>
    <link>https://www.danieleteti.it/tags/gemini/</link>
    <description>Recent content in Gemini on while true do;</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-US</language>
    <lastBuildDate>Thu, 02 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://www.danieleteti.it/tags/gemini/feed.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>MCP Server for DMVCFramework - Build AI-Ready Delphi Applications</title>
      <link>https://www.danieleteti.it/mcp-server-delphi/</link>
      <pubDate>Thu, 02 Apr 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/mcp-server-delphi/</guid>
      <description>&lt;p align=&#34;center&#34;&gt;
  &lt;img src=&#34;https://www.danieleteti.it/images/projects/mcp-server-delphi-logo.png&#34; alt=&#34;MCP Server for DMVCFramework&#34; width=&#34;512&#34;&gt;
&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;Let your Delphi applications talk to AI assistants&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;MCP Protocol 2025-03-26&lt;/strong&gt; | &lt;a href=&#34;https://github.com/danieleteti/mcp-server-delphi&#34;&gt;GitHub Repository&lt;/a&gt; | &lt;a href=&#34;https://www.apache.org/licenses/LICENSE-2.0&#34;&gt;Apache 2.0 License&lt;/a&gt;&lt;/p&gt;
&lt;div style=&#34;display: flex; justify-content: center; gap: 0.5rem;&#34;&gt;
&lt;img alt=&#34;GitHub stars&#34; src=&#34;https://img.shields.io/github/stars/danieleteti/mcp-server-delphi?style=flat-square&#34;&gt;&lt;img alt=&#34;License&#34; src=&#34;https://img.shields.io/github/license/danieleteti/mcp-server-delphi?style=flat-square&#34;&gt;&lt;img alt=&#34;Delphi&#34; src=&#34;https://img.shields.io/badge/Delphi-11%2B-purple.svg?style=flat-square&#34;&gt;
&lt;/div&gt;
&lt;script type=&#34;application/ld+json&#34;&gt;
{
  &#34;@context&#34;: &#34;https://schema.org&#34;,
  &#34;@graph&#34;: [
    {
      &#34;@type&#34;: &#34;SoftwareSourceCode&#34;,
      &#34;name&#34;: &#34;MCP Server for DMVCFramework&#34;,
      &#34;description&#34;: &#34;A production-ready Model Context Protocol (MCP) server implementation for DMVCFramework, enabling Delphi applications to expose tools, resources, and prompts to AI assistants.&#34;,
      &#34;author&#34;: {
        &#34;@type&#34;: &#34;Person&#34;,
        &#34;name&#34;: &#34;Daniele Teti&#34;,
        &#34;url&#34;: &#34;https://www.danieleteti.it&#34;
      },
      &#34;programmingLanguage&#34;: &#34;Object Pascal&#34;,
      &#34;codeRepository&#34;: &#34;https://github.com/danieleteti/mcp-server-delphi&#34;,
      &#34;license&#34;: &#34;https://www.apache.org/licenses/LICENSE-2.0&#34;,
      &#34;url&#34;: &#34;https://www.danieleteti.it/mcp-server-delphi&#34;,
      &#34;datePublished&#34;: &#34;2026-03-16&#34;,
      &#34;dateModified&#34;: &#34;2026-04-02&#34;,
      &#34;applicationCategory&#34;: &#34;DeveloperApplication&#34;,
      &#34;operatingSystem&#34;: [&#34;Windows&#34;, &#34;Linux&#34;],
      &#34;runtimePlatform&#34;: &#34;Delphi&#34;
    },
    {
      &#34;@type&#34;: &#34;FAQPage&#34;,
      &#34;mainEntity&#34;: [
        {
          &#34;@type&#34;: &#34;Question&#34;,
          &#34;name&#34;: &#34;What is the Model Context Protocol (MCP)?&#34;,
          &#34;acceptedAnswer&#34;: {
            &#34;@type&#34;: &#34;Answer&#34;,
            &#34;text&#34;: &#34;MCP is an open standard created by Anthropic that defines how AI assistants (like Claude, Gemini, ChatGPT) communicate with external applications. It allows AI to call tools, read resources, and use prompts provided by your server. Think of it as a universal API that makes your application accessible to any AI client.&#34;
          }
        },
        {
          &#34;@type&#34;: &#34;Question&#34;,
          &#34;name&#34;: &#34;Can I use this with Claude Desktop?&#34;,
          &#34;acceptedAnswer&#34;: {
            &#34;@type&#34;: &#34;Answer&#34;,
            &#34;text&#34;: &#34;Yes. You can connect via Streamable HTTP (add the URL to Claude Desktop config) or via stdio transport (Claude Desktop launches your executable directly). Both modes are fully supported.&#34;
          }
        },
        {
          &#34;@type&#34;: &#34;Question&#34;,
          &#34;name&#34;: &#34;Do I need TaurusTLS to use the MCP server?&#34;,
          &#34;acceptedAnswer&#34;: {
            &#34;@type&#34;: &#34;Answer&#34;,
            &#34;text&#34;: &#34;Only if you want the HTTP transport. The stdio-only transport has zero HTTP dependencies — no TaurusTLS, no Indy, no WebBroker. This makes it lightweight and easy to deploy.&#34;
          }
        },
        {
          &#34;@type&#34;: &#34;Question&#34;,
          &#34;name&#34;: &#34;How do I add a new tool to my MCP server?&#34;,
          &#34;acceptedAnswer&#34;: {
            &#34;@type&#34;: &#34;Answer&#34;,
            &#34;text&#34;: &#34;Create a class extending TMCPToolProvider, add a method decorated with [MCPTool(&#39;name&#39;, &#39;description&#39;)], annotate parameters with [MCPParam(&#39;description&#39;)], return a TMCPToolResult, and register the provider in the initialization section. The library discovers everything via RTTI — no manual wiring needed.&#34;
          }
        }
      ]
    }
  ]
}
&lt;/script&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; MCP Server for DMVCFramework lets you expose your Delphi business logic to AI assistants like Claude, Gemini, and ChatGPT. Decorate methods with &lt;code&gt;[MCPTool]&lt;/code&gt;, &lt;code&gt;[MCPResource]&lt;/code&gt;, or &lt;code&gt;[MCPPrompt]&lt;/code&gt; attributes and the library does the rest — JSON schema generation, session management, JSON-RPC dispatch, dual transport (HTTP + stdio). Copy the &lt;a href=&#34;https://github.com/danieleteti/mcp-server-delphi/tree/main/samples&#34;&gt;Quick Start sample&lt;/a&gt;, customize the provider units, build, and connect.&lt;/p&gt;</description>
    </item>
    
  </channel>
</rss>
