<?xml version="1.0" encoding="UTF-8"?>    <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
      <channel>
        <title></title>
        <link>https://interactivetools.com/forum/forum-search.php</link>
        <description></description>
        <pubDate>Fri, 10 Jul 2026 05:43:48 -0700</pubDate>
        <language>en-us</language>
        <atom:link href="https://interactivetools.com/forum/forum-search.php?rss=1" rel="self" type="application/rss+xml" />

                <item>
          <title>Confirmation not waiting when deleting sections</title>
          <link>https://interactivetools.com/forum/forum-posts.php?postNum=2248452#post2248452</link>
          <description><![CDATA[<p>Hi All,</p>
<p>Thanks for the report! We were able to reproduce this locally and track it down, and we'll have this fixed in the next release.</p>
<p>If you'd like to patch it now, edit cmsb/lib/data-attr-handlers.js and search for "element.blur()"</p>
<p>And replace this:</p>
<pre class="language-javascript"><code>                if (!confirm(message)) {
                    e.preventDefault();
                    e.stopImmediatePropagation();
                    element.blur();
                }
            }
        });</code></pre>
<p>With this (adding ", true" before the final brace):</p>
<pre class="language-javascript"><code>            if (!confirm(message)) {
                    e.preventDefault();
                    e.stopImmediatePropagation();
                    element.blur();
                }
            }
        }, true);</code></pre>
<p>That makes the confirmation dialog run before anything else, so Cancel works again.</p>
<p>Hope that helps, and thanks so much for the bug report and confirmation!&nbsp; Let me know if you any other questions.</p>]]></description>
          <pubDate>Thu, 09 Jul 2026 19:17:18 -0700</pubDate>
          <guid isPermaLink="true">forum-posts.php?postNum=2248452#post2248452</guid>
        </item>
                <item>
          <title>Changing manually created permalink to old does not redirect</title>
          <link>https://interactivetools.com/forum/forum-posts.php?postNum=2248451#post2248451</link>
          <description><![CDATA[<p>Hi Chrstine,</p>
<p>Thank you so much for your help!</p>
<p>It is working now!</p>
<p>Hiroko</p>]]></description>
          <pubDate>Mon, 06 Jul 2026 07:08:46 -0700</pubDate>
          <guid isPermaLink="true">forum-posts.php?postNum=2248451#post2248451</guid>
        </item>
                <item>
          <title>Database schema sync called on frontend</title>
          <link>https://interactivetools.com/forum/forum-posts.php?postNum=2248449#post2248449</link>
          <description><![CDATA[<p>Thank you Dave for the clarification.</p>
]]></description>
          <pubDate>Sat, 04 Jul 2026 12:38:34 -0700</pubDate>
          <guid isPermaLink="true">forum-posts.php?postNum=2248449#post2248449</guid>
        </item>
                <item>
          <title>Confirmation not waiting when deleting sections</title>
          <link>https://interactivetools.com/forum/forum-posts.php?postNum=2248448#post2248448</link>
          <description><![CDATA[<p>I just tested this in v8.4. The confirmation modal remains visible for me, but clicking “Cancel” still erases the table.</p>
<p>~ Deborah</p>]]></description>
          <pubDate>Fri, 03 Jul 2026 07:55:57 -0700</pubDate>
          <guid isPermaLink="true">forum-posts.php?postNum=2248448#post2248448</guid>
        </item>
                <item>
          <title>Confirmation not waiting when deleting sections</title>
          <link>https://interactivetools.com/forum/forum-posts.php?postNum=2248447#post2248447</link>
          <description><![CDATA[<p>I've noticed an issue on two installations of CMS Builder v3.84 that doesn't happen on an installation of CMSB v3.82.</p>
<p>If I click to 'erase' a section from CMS Setup &gt; Database, the confirmation window appears very briefly but the section is then deleted and the message disappears so the table is deleted without confirming.</p>
<p>Let me know if you need any more information.</p>
<p>Thanks, Paul.</p>]]></description>
          <pubDate>Fri, 03 Jul 2026 07:37:10 -0700</pubDate>
          <guid isPermaLink="true">forum-posts.php?postNum=2248447#post2248447</guid>
        </item>
                <item>
          <title>Error: Data isn&apos;t compatible with new type</title>
          <link>https://interactivetools.com/forum/forum-posts.php?postNum=2248446#post2248446</link>
          <description><![CDATA[<p>Hi Kenny,</p>
<p>The issue is that a checkbox column doesn't support the same data types as a text box. A text box stores NULL by default (or an empty string once you've saved content), but a checkbox only supports 1 or 0, never NULL. It's the same even if the text box had real content in it, since MySQL can't map arbitrary text to a number.</p>
<p>If the field is empty, the easiest fix is to just erase it and create the checkbox fresh. Or you can convert the existing values to 0 first:</p>
<pre class="language-php"><code>UPDATE `your_table` SET `my_field` = 0 WHERE `my_field` IS NULL OR `my_field` = '';</code></pre>
<p>Once the data in the column matches what a checkbox supports (in MySQL: tinyint unsigned NOT NULL), it should let you switch the type with no problem.</p>
<p>Hope that helps!&nbsp; Let me know any questions.</p>]]></description>
          <pubDate>Mon, 29 Jun 2026 13:21:22 -0700</pubDate>
          <guid isPermaLink="true">forum-posts.php?postNum=2248446#post2248446</guid>
        </item>
                <item>
          <title>Error: Data isn&apos;t compatible with new type</title>
          <link>https://interactivetools.com/forum/forum-posts.php?postNum=2248445#post2248445</link>
          <description><![CDATA[<p>Hit this on the latest version. Created a field as a <strong>Text Box</strong> by mistake, then went to switch its type to <strong>Checkbox</strong> in the field editor. The save fails with a MySQL type-compatibility error.</p>
<p><strong>Steps to reproduce</strong></p>
<ol>
<li>In a section editor, add a new field and set the type to <strong>Text Box</strong>.</li>
<li>Save. (The column gets created across every existing record in the table.)</li>
<li>Edit that same field and change the type to <strong>Checkbox</strong>.</li>
<li>Save → error.</li>
</ol>
<p><strong>Error returned</strong></p>
<pre><code>Error: Data in `my_field` isn't compatible with new type:
tinyint unsigned NOT NULL DEFAULT 0

Please modify your data or column type and try again.

Query: ALTER TABLE `cms_example` CHANGE COLUMN `my_field` `my_field`
       tinyint unsigned NOT NULL DEFAULT 0
in [path]/cmsb/lib/Fields/BaseField.php:510  [Admin View]
</code></pre>
<p><strong>Backtrace (CMS paths only)</strong></p>
<pre><code>#0 Script started        cmsb/admin.php:0
#1 require()             cmsb/admin.php:82
#2 include()             cmsb/lib/menus/default/actionHandler.php:65
#3 require()             cmsb/lib/menus/database/actionHandler.php:72
#4 require()             cmsb/lib/menus/database/editField.php:8
#5 submitFormViaAjax()   cmsb/lib/menus/database/editField_functions.php:179
...
</code></pre>
]]></description>
          <pubDate>Mon, 29 Jun 2026 11:58:30 -0700</pubDate>
          <guid isPermaLink="true">forum-posts.php?postNum=2248445#post2248445</guid>
        </item>
                <item>
          <title>Opcache Issue</title>
          <link>https://interactivetools.com/forum/forum-posts.php?postNum=2248444#post2248444</link>
          <description><![CDATA[<p>Hi mark99,&nbsp;</p>
<p>Okay, great.&nbsp; Glad it's working and thanks for the update!</p>]]></description>
          <pubDate>Mon, 29 Jun 2026 09:51:30 -0700</pubDate>
          <guid isPermaLink="true">forum-posts.php?postNum=2248444#post2248444</guid>
        </item>
                <item>
          <title>Opcache Issue</title>
          <link>https://interactivetools.com/forum/forum-posts.php?postNum=2248443#post2248443</link>
          <description><![CDATA[<p>Ok I figured it out. It's because Opcache is now enabled by default from PHP 8.5 onwards, so if you have a php.ini with this line:</p>
<p>zend_extension=opcache.so;</p>
<p>Then it causes a bit of a conflict and needs to be commented out or removed:</p>
<p>;zend_extension=opcache.so;</p>]]></description>
          <pubDate>Mon, 29 Jun 2026 07:29:12 -0700</pubDate>
          <guid isPermaLink="true">forum-posts.php?postNum=2248443#post2248443</guid>
        </item>
                <item>
          <title>MCP tools/list available when MCP is disabled?</title>
          <link>https://interactivetools.com/forum/forum-posts.php?postNum=2248442#post2248442</link>
          <description><![CDATA[<p>Hi Rob,&nbsp;</p>
<p>I found a quick fix for this.</p>
<p>In cmsb/api/mcp.php search for "// Dispatch" and replace it with the following:</p>
<pre class="language-php"><code>// Block all methods (no tool list, no dispatch) while the MCP server is disabled
mcpProtocolErrorIf(!isStillEnabled(), MCP_ERR_SERVER_DISABLED, 'MCP server is disabled. Enable it at Admin → Advanced → MCP Server');

// Dispatch</code></pre>
<p>That will prevent the MCP server from showing anything if it's not enabled.</p>
<p>Can you give that a try and let me know if that works for you?</p>
<p>Thanks!</p>]]></description>
          <pubDate>Sun, 28 Jun 2026 23:10:17 -0700</pubDate>
          <guid isPermaLink="true">forum-posts.php?postNum=2248442#post2248442</guid>
        </item>
                <item>
          <title>Opcache Issue</title>
          <link>https://interactivetools.com/forum/forum-posts.php?postNum=2248441#post2248441</link>
          <description><![CDATA[<p>Hi Mark,</p>
<p>That is curious. I've attached a test script that shows whether OPcache is running and the key settings it's using (which php.ini is loaded, where PHP looks for the extension, and so on).</p>
<p>Can you run it from a location where OPcache is already working, and again from your cmsb folder, and let me know how the two differ?</p>
<p>It's also worth dropping it into a parallel directory (e.g.,/opcache_test/) to see if something in the CMSB .htaccess or config files is affecting it.</p>
<p>Let me know what you find. Thanks!</p>]]></description>
          <pubDate>Sun, 28 Jun 2026 21:48:16 -0700</pubDate>
          <guid isPermaLink="true">forum-posts.php?postNum=2248441#post2248441</guid>
        </item>
                <item>
          <title>Database schema sync called on frontend</title>
          <link>https://interactivetools.com/forum/forum-posts.php?postNum=2248440#post2248440</link>
          <description><![CDATA[<p>Hiht1080z,</p>
<p>That notice just means the plugin is checking if it needs to create your accounts table on every page load. Newer CMSB versions save schema files as .schema.php, but your plugin is still looking for the old .ini.php files. It never finds them, so it assumes the table still needs creating and runs the full schema sync (and logs that notice) on every page view.</p>
<p>It's harmless, though, your table is fine, and logins work. It's just extra work each load, and your pages will load faster if you fix it. So a few options:</p>
<ul>
<li>Leave it. If the log noise doesn't bother you, ignore it. Nothing's broken.</li>
<li>Quick fix. Your accounts table already exists, so you can just comment out the createMissingSchemaTablesAndFields(); call on line 360 of your custom plugin.&nbsp;</li>
<li>Proper fix. Download the latest Website Membership, diff it against your custom file, and merge in the schema-file check, making sure it looks for .schema.php. The sync then skips on its own once the table's set up.</li>
</ul>
<p>Hope that helps, let me know any questions.</p>]]></description>
          <pubDate>Sun, 28 Jun 2026 21:25:37 -0700</pubDate>
          <guid isPermaLink="true">forum-posts.php?postNum=2248440#post2248440</guid>
        </item>
                <item>
          <title>Opcache Issue</title>
          <link>https://interactivetools.com/forum/forum-posts.php?postNum=2248439#post2248439</link>
          <description><![CDATA[<p>When I try to add my usual file system based opcache to the main CMSB (3.84) php.ini file, which looks like this (file path changed for security below):</p>
<p>zend_extension=opcache.so;<br />opcache.enable=1;<br />opcache.memory_consumption=32;<br />opcache.interned_strings_buffer=8;<br />opcache.max_accelerated_files=3000;<br />opcache.revalidate_freq=180;<br />opcache.fast_shutdown=0;<br />opcache.enable_cli=0;<br />opcache.revalidate_path=0;<br />opcache.validate_timestamps=1;<br />opcache.max_file_size=0;<br />opcache.file_cache=/blah/wwwroot/.opmeow;<br />opcache.file_cache_only=1;</p>
<p>When I then load admin &gt; General Settings I get a pop-up that says:</p>
<p>"updatePhpMysqlDateTime: [object Object]"</p>
<p>The only option is to click 'Ok'</p>
<p>I then see various errors like these within the same admin page:</p>
<p>Warning: Failed loading Zend extension 'opcache.so' (tried: /usr/lib/php8.5/extensions/opcache.so (/usr/lib/php8.5/extensions/opcache.so: cannot open shared object file: No such file or directory), /usr/lib/php8.5/extensions/opcache.so.so (/usr/lib/php8.5/extensions/opcache.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0</p>
<p>/MYFOLDER/system/uploads/<br />Warning: Failed loading Zend extension 'opcache.so' (tried: /usr/lib/php8.5/extensions/opcache.so (/usr/lib/php8.5/extensions/opcache.so: cannot open shared object file: No such file or directory), /usr/lib/php8.5/extensions/opcache.so.so (/usr/lib/php8.5/extensions/opcache.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0</p>
<p>The php.ini code works in every other PHP based system on the server, so what is going wrong here? I can turn these two 'Off' and the problem goes away, but obviously this isn't a fix:</p>
<p>display_startup_errors = On<br />display_errors = On</p>]]></description>
          <pubDate>Fri, 26 Jun 2026 08:57:01 -0700</pubDate>
          <guid isPermaLink="true">forum-posts.php?postNum=2248439#post2248439</guid>
        </item>
                <item>
          <title>Database schema sync called on frontend</title>
          <link>https://interactivetools.com/forum/forum-posts.php?postNum=2248438#post2248438</link>
          <description><![CDATA[<p>Hi,</p>
<p>I getting a lot of messages in the error log:</p>
<p><span style="color:#000000;text-align:left;">#134387 - Notice: Database schema sync called on frontend. This performance-heavy operation should only occur during plugin installation/upgrades. Update plugins if happening frequently.</span><br style="color:#000000;text-align:left;" /><span style="color:#000000;text-align:left;">/docker_data/services-staging/www/cmsAdmin/plugins/websiteMembershipCUSTOM/websiteMembership_CUSTOM.php on line 360<br />&gt; in line 360 is the createMissingSchemaTablesAndFields();</span></p>
<p><span style="color:#000000;text-align:left;">using the <span style="color:#000000;">v3.78 (Build 2904) with a customized Website Membership that we created for a project.</span></span></p>
<p><span style="color:#000000;text-align:left;"><span style="color:#000000;">is there anything that i can do in order to stop this generating?</span></span></p>]]></description>
          <pubDate>Thu, 25 Jun 2026 22:30:51 -0700</pubDate>
          <guid isPermaLink="true">forum-posts.php?postNum=2248438#post2248438</guid>
        </item>
                <item>
          <title>Changing manually created permalink to old does not redirect</title>
          <link>https://interactivetools.com/forum/forum-posts.php?postNum=2248437#post2248437</link>
          <description><![CDATA[<p>Hi Hiroko,<br /><br /></p>
<blockquote>
<p>I checked on the checkbox "Old" to redirect in case someone accesses to /services-headspa/, but it seems to redirect to a different page, which is /shibuya/ ( original url is /salonsDetail.php?salon=16)</p>
</blockquote>
<p><br />The permalinks plugin uses the internal "Tablename" and "Record Num" fields to group permalinks together so it can figure out the correct permalink to replace any that get marked "Old".</p>
<p>Those two fields are usually empty when permalinks are manually created, only being given values for automatically generated permalinks instead.</p>
<p>Since those two fields are empty across across each of your permalinks, the plugin treats your permalinks as if they're all in one big group, ignoring any in the group marked "Old", and using whichever happens to be the first one it sees. In your case, the first non-old permalink in the group is /shibuya/.<br /><br /></p>
<blockquote>
<p>How can I make my redirect change work for /services-headspa/ to /head-spa-shibuya/ which both are originally /mainPages.php?9 ?</p>
</blockquote>
<p><br />The plugin needs to know that the old permalink (/services-headspa/) and the new permalink (/head-spa-shibuya/) are in a group together, paired-up, with one replacing the other, and unrelated to any outside the group (such as /shibuya/).</p>
<p>You can group the pair together by going to <em>Plugins &gt; Permalinks &gt; Permalinks DB</em>, and editing both the <em>/services-headspa/</em> and <em>/head-spa-shibuya/</em> permalinks to have the exact same identical value in the "Tablename" field for each (any short label is fine, e.g. "<em>headspa</em>").</p>
<p>You can leave the "Record Num" field set to <em>0</em> for both. The "Tablename" field is enough to group them together. That tells the plugin that any permalinks in that group marked "Old" (<em>/services-headspa/</em>) should redirect to the new replacement permalink instead (<em>/head-spa-shibuya/</em>).<br /><br /></p>
<p>If you ever want to add another redirect to replace /head-spa-shibuya/ in the future, you can group together as many permalinks as you like using that same "Tablename" field, as long as all but one of the permalinks in that group are marked "Old", so the plugin knows which one is the correct replacement to redirect to.</p>
<p>Hope that all helps, let me know if you have any other questions!<br /><br /></p>]]></description>
          <pubDate>Wed, 24 Jun 2026 12:10:36 -0700</pubDate>
          <guid isPermaLink="true">forum-posts.php?postNum=2248437#post2248437</guid>
        </item>
                <item>
          <title>MCP tools/list available when MCP is disabled?</title>
          <link>https://interactivetools.com/forum/forum-posts.php?postNum=2248436#post2248436</link>
          <description><![CDATA[<p>Hey Dave,</p>
<p>Yeah, I think something as simple as:</p>
<blockquote>
<p>Maybe the first time you open the MCP menu, we could have an option where you click to enable it, and until then, it returns nothing in the tools list.</p>
</blockquote>
<p>would do the trick.</p>
<p>Cheers</p>
<p>Rob</p>
]]></description>
          <pubDate>Tue, 23 Jun 2026 20:30:27 -0700</pubDate>
          <guid isPermaLink="true">forum-posts.php?postNum=2248436#post2248436</guid>
        </item>
                <item>
          <title>.ini files vs. ,schema</title>
          <link>https://interactivetools.com/forum/forum-posts.php?postNum=2248435#post2248435</link>
          <description><![CDATA[<p>Hi pgplast,&nbsp;</p>
<p>Yes, the CMS will automatically upgrade any .ini.php files it discovers.&nbsp; Even when adding plugins or ini files after the fact.&nbsp;&nbsp;</p>
<p>But if any of your plugins aren't working correctly, just download the latest version from the website.</p>
<p>Hope that helps!</p>]]></description>
          <pubDate>Tue, 23 Jun 2026 19:56:07 -0700</pubDate>
          <guid isPermaLink="true">forum-posts.php?postNum=2248435#post2248435</guid>
        </item>
                <item>
          <title>MCP tools/list available when MCP is disabled?</title>
          <link>https://interactivetools.com/forum/forum-posts.php?postNum=2248434#post2248434</link>
          <description><![CDATA[<p>Hi Rob,</p>
<p>So, with fingerprinting, any static response or file (CSS, JS, images, etc.) can be used. You just need to checksum a known response from some files from a given version of any software. There are actually some neat sites that do that (search "What CMS is this site running").</p>
<p>So the best solution for that is just to rename your /cmsb/ folder to something less guessable so no one can find it.</p>
<p>And/or, if you don't need the /api/ folder or /api/mcp.php, you should be able to safely just delete them.</p>
<p>But we want the UX to feel good end-to-end, so if seeing a big list of powerful tools, disabled or not, gives anyone pause, we could look into adding a one-time setting to enable it.&nbsp; We have a few questions about it already.</p>
<p>Maybe the first time you open the MCP menu, we could have an option where you click to enable it, and until then, it returns nothing in the tools list.</p>
<p>Let me know if that would work for you. Thanks!</p>]]></description>
          <pubDate>Tue, 23 Jun 2026 19:54:05 -0700</pubDate>
          <guid isPermaLink="true">forum-posts.php?postNum=2248434#post2248434</guid>
        </item>
                <item>
          <title>Changing manually created permalink to old does not redirect</title>
          <link>https://interactivetools.com/forum/forum-posts.php?postNum=2248433#post2248433</link>
          <description><![CDATA[<p>Hi,</p>
<p>My client wants to change the permalink from</p>
<p>/services-headspa/ (original url is /mainPages.php?9)</p>
<p>to</p>
<p>/<span>head-spa-shibuya/ (same url)</span></p>
<p><span>I checked on the checkbox "Old" to redirect in case someone accesses to </span><span>/services-headspa/,&nbsp;</span><span>but it seems to redirect to a different page, which is /shibuya/ ( original url is /salonsDetail.php?salon=16)</span></p>
<p><span>These permalinks are all created manually.</span></p>
<p><span>How can I make my redirect change work for /services-headspa/&nbsp; to /head-spa-shibuya/&nbsp; which both are originally&nbsp; /mainPages.php?9&nbsp; ?</span></p>
<p><span>Thank you for your help.</span></p>
<p><span>Hiroko</span></p>]]></description>
          <pubDate>Mon, 22 Jun 2026 09:26:52 -0700</pubDate>
          <guid isPermaLink="true">forum-posts.php?postNum=2248433#post2248433</guid>
        </item>
                <item>
          <title>.ini files vs. ,schema</title>
          <link>https://interactivetools.com/forum/forum-posts.php?postNum=2248432#post2248432</link>
          <description><![CDATA[<p>I noticed that the new schema files in the latest version of CMSB are of type XXX.schema.php.</p>
<p>In updating a site with many XXX.ini.php files, will these .ini.php files still correctly provide the structure for site tables?</p>]]></description>
          <pubDate>Sun, 21 Jun 2026 08:41:30 -0700</pubDate>
          <guid isPermaLink="true">forum-posts.php?postNum=2248432#post2248432</guid>
        </item>
                <item>
          <title>MCP tools/list available when MCP is disabled?</title>
          <link>https://interactivetools.com/forum/forum-posts.php?postNum=2248431#post2248431</link>
          <description><![CDATA[<p>Thanks Dave, that makes sense.</p>
<p>One lingering thought is less that the list is secret, and more that at an individual site level it fingerprints the install / CMS / MCP surface. I understand public Swagger on a vendor API, but this feels slightly different because it's exposing the capabilities of a specific install rather than the product documentation itself.</p>
<p>So while it's not leaking secrets, it is revealing what technology is sitting behind that particular endpoint and what capabilities exist if authenticated. It doesn't give someone access, but it does tell them what system to go and research.</p>
<p>The Claude restart explanation makes sense, and I can see why you'd want the tool list available for active development. For sites that never need Claude connected (or production environments), would there be any merit in an option to return a generic disabled/auth response to tools/list until a valid key is provided?</p>
<p>We can block it at the edge easily enough by having a CMS-level option would be handy for those of us who'll inevitably roll out an upgrade and forget!</p>
<p>Cheers</p>]]></description>
          <pubDate>Fri, 19 Jun 2026 09:33:29 -0700</pubDate>
          <guid isPermaLink="true">forum-posts.php?postNum=2248431#post2248431</guid>
        </item>
                <item>
          <title>MCP tools/list available when MCP is disabled?</title>
          <link>https://interactivetools.com/forum/forum-posts.php?postNum=2248430#post2248430</link>
          <description><![CDATA[<p>Hi runriot,</p>
<p>Thanks for the report, and good eye. This one's intentional, not a leak.</p>
<p>The tool list is static. It's the same hardcoded list on every install, and it already ships in the source you can download, so tools/list isn't handing out anything you couldn't read straight from our freely downloadable code. The only things we hold back until you authenticate are install-specific hints, like the server's working directory, OS, and shell, since those would fingerprint the actual box. Nothing in the public list is install-specific or secret.</p>
<p>The real security boundary is on running tools, not listing them. That's exactly what you ran into: the list comes back, but the second you try to call a tool, you get "MCP is disabled." Disabled means disabled, nothing executes, and that holds whether MCP is switched off or the auth is missing or wrong.</p>
<p>The other reason we always return the list is so you don't have to restart Claude every time you toggle MCP. Claude grabs the tool list once when it connects and caches it. If we only sent the list while MCP was enabled, every on/off would mean restarting Claude to pick the tools back up. Keeping the static list always on means you can flip MCP on and off, and it just works, since the tools are already known and only execution changes.</p>
<p>So the short version: the listing is public by design; execution is locked down.<br /><br />This is also a common pattern for APIs built to be called by an external client. Plenty of public APIs serve their full OpenAPI/Swagger spec, every endpoint and parameter, to anyone, and gate only the actual calls behind a key.&nbsp;</p>
<p>Hope that helps, let me know if you have any other questions or concerns!</p>]]></description>
          <pubDate>Fri, 19 Jun 2026 08:37:58 -0700</pubDate>
          <guid isPermaLink="true">forum-posts.php?postNum=2248430#post2248430</guid>
        </item>
                <item>
          <title>MCP tools/list available when MCP is disabled?</title>
          <link>https://interactivetools.com/forum/forum-posts.php?postNum=2248429#post2248429</link>
          <description><![CDATA[<p>Hey</p>
<p>I've been playing the new MCP feature and admittedly I know very little about MCP, so this may be completely normal...</p>
<p>I noticed that even with MCP disabled, the endpoint still responds to a `tools/list` request and returns the full list of available tools. Same when using no/incorrect auth.</p>
<p>For example, with MCP disabled (or no auth) I can still see things like:</p>
<ul>
<li>serverShell</li>
<li>serverPhp</li>
<li>queryWriteserverRead</li>
<li>upload tools</li>
</ul>
<p>Attempting to actually run a tool correctly returns an error saying MCP is disabled, so it doesn't look like anything can be executed.</p>
<p>My question is simply whether exposing the tool list when MCP is disabled is intentional?</p>
<p>I'm guessing there's probably a good reason for it, and you guys know the MCP spec far better than I do, but it feels a little odd that a disabled feature still advertises everything it can do.</p>
<p>Just curious whether that's expected behaviour or something worth tightening up.</p>
<p>Cheers</p>
<p>Rob</p>]]></description>
          <pubDate>Thu, 18 Jun 2026 20:23:36 -0700</pubDate>
          <guid isPermaLink="true">forum-posts.php?postNum=2248429#post2248429</guid>
        </item>
                <item>
          <title>Exclude specific records from a list</title>
          <link>https://interactivetools.com/forum/forum-posts.php?postNum=2248428#post2248428</link>
          <description><![CDATA[<p>Yep that worked, thanks Dave :)</p>]]></description>
          <pubDate>Tue, 26 May 2026 09:10:31 -0700</pubDate>
          <guid isPermaLink="true">forum-posts.php?postNum=2248428#post2248428</guid>
        </item>
                <item>
          <title>Exclude specific records from a list</title>
          <link>https://interactivetools.com/forum/forum-posts.php?postNum=2248427#post2248427</link>
          <description><![CDATA[<p>Hi Mark,&nbsp;</p>
<p>Try this:</p>
<pre class="language-php"><code>    'where'       =&gt; " category LIKE '%Telecoms%' AND num NOT IN (421,83,122)",</code></pre>
<p>Just replace the numbers with the ones you want to exclude.</p>
<p>Let me know if that works for you.</p>]]></description>
          <pubDate>Tue, 26 May 2026 08:54:31 -0700</pubDate>
          <guid isPermaLink="true">forum-posts.php?postNum=2248427#post2248427</guid>
        </item>
              </channel>
    </rss>
  