{"id":236,"date":"2026-05-01T00:31:11","date_gmt":"2026-05-01T04:31:11","guid":{"rendered":"https:\/\/tprc.us\/tprc-2026-gsp\/?page_id=236"},"modified":"2026-05-01T00:33:29","modified_gmt":"2026-05-01T04:33:29","slug":"class","status":"publish","type":"page","link":"https:\/\/tprc.us\/tprc-2026-gsp\/class\/","title":{"rendered":"Post-conference Class"},"content":{"rendered":"\n<p><strong>Steven Lembark<\/strong> will be presenting his course, &#8220;<strong>Teaching AI New Tricks: Perly MCP&#8217;s for Claude<\/strong>&#8220;,<br>on <strong>Monday, June 29<\/strong>.<br><br>Tickets for the class are <strong>$120<\/strong>, and are available at:<br><a href=\"https:\/\/perlfoundation.fcsuite.com\/erp\/donate\/list\/event?event_date_id=1002\">https:\/\/perlfoundation.fcsuite.com\/erp\/donate\/list\/event?event_date_id=1002<\/a><br><br>The class will be held in the same Conference location, from 9 AM to 4 PM.<\/p>\n\n\n\n<p><strong>SHORT DESCRIPTION:<\/strong><br>MCP definitions are not your mother&#8217;s API call. They are natural language descriptions meant for the tool to process and integrate into its own workflow. With proper description, the MCP&#8217;s are simple to use and can be daisy-chained to produce quite flexible results. Claude&#8217;s different models &#8212; Haiku, Sonnet, Opus &#8212; offer different options for cost, speed, and depth and require different definitions. In the spirit of the Perl Tester&#8217;s Notebook, this class covers a very basic tool then expands it for general use, one step at a time, looking at the necessary changes to Perl and the MCP. The result is a lightweight, fast interface that handles a common task easily and can be incorporated with other tools.<\/p>\n\n\n\n<p><strong>FULL DESCRIPTION:<\/strong><br>This class is about creating MCPs and applying them. We use Perl as the language but the results are applicable to any language; we&#8217;ll use Claude CLI as the example but also look at how to integrate MCPs with other AI&#8217;s.<\/p>\n\n\n\n<p>All of us are using AI; most of us are using Claude. One downside of all AI of today&#8217;s models is lack of repeatability. At the core, their generation is random, and the paths they find for accomplishing our goals may not be the most effective. We also run into roadblocks if we ask the tool for something it doesn&#8217;t already know how to do: The chosen solution may be unavailable, ineffective or quite expensive &#8212; in some cases consuming tokens to find that there isn&#8217;t an answer.<\/p>\n\n\n\n<p>MCPs offer a way to add abilities to the AI, improve repeatability, and costs. Using Claude&#8217;s CLI, the MCP&#8217;s can be easily added at runtime or startup and provide ways to specify back-end handlers for specific tasks. Once configured, control is passed to the MCP by the AI, providing complete control of the answer provided, and saving the AI from wasting tokens to discover a known solution.<\/p>\n\n\n\n<p>MCPs are rather easy to write. Local MCPs run as forked processes, reading and writing to standard in and out &#8212; think CGI, but with JSON replacing HTTP. A simple handshake configures the AI to request specific information from the MCP, and the AI will call on the MCP for those answers. The art is in defining the MCP so that the AI understands what to ask, and how to use the results. The effort is in finding complete, specific descriptions in native language that correctly direct the AI. With proper definition, MCPs can be daisy-chained to produce fast, specific answers and save tokens for analysis where they are most useful.<\/p>\n\n\n\n<p>This class is for anyone who uses AI, wants to get fast, efficient answers, and has access to the CLI for installing them. We will use Claude as an example, configuring MCP&#8217;s for Haiku, Sonnet, and Opus, showing how to create a basic MCP and refactor it for each of the models and extend it incrementally into a generally useful form, how to daisy-chain it, and how to integrate local and networked MCPs for faster, secure, repeatable, lower cost results. The class uses a Claude CLI, git, and Pure Perl &#8212; no external libraries to install &#8212; with hands-on steps from examples to configure a general module, the local executable, and a networked integration. Class materials will include the GitLab repository with a working executable and module for the local service and a ~100pp PDF course guide describing the material.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Steven Lembark will be presenting his course, &#8220;Teaching AI New Tricks: Perly MCP&#8217;s for Claude&#8220;,on Monday, June 29. Tickets for the class are $120, and are available at:https:\/\/perlfoundation.fcsuite.com\/erp\/donate\/list\/event?event_date_id=1002 The class will be held in the same Conference location, from 9&hellip; <\/p>\n","protected":false},"author":4,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-236","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/tprc.us\/tprc-2026-gsp\/wp-json\/wp\/v2\/pages\/236","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tprc.us\/tprc-2026-gsp\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/tprc.us\/tprc-2026-gsp\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/tprc.us\/tprc-2026-gsp\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/tprc.us\/tprc-2026-gsp\/wp-json\/wp\/v2\/comments?post=236"}],"version-history":[{"count":4,"href":"https:\/\/tprc.us\/tprc-2026-gsp\/wp-json\/wp\/v2\/pages\/236\/revisions"}],"predecessor-version":[{"id":241,"href":"https:\/\/tprc.us\/tprc-2026-gsp\/wp-json\/wp\/v2\/pages\/236\/revisions\/241"}],"wp:attachment":[{"href":"https:\/\/tprc.us\/tprc-2026-gsp\/wp-json\/wp\/v2\/media?parent=236"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}