1.0 stable for the consent-link profile — MCP binding profile, registry and forwarding. Other profiles and the core objects are draft. What is stable

WordPress plugin — connect a listing site without programming

On this page
  1. What happens
  2. Install (10 minutes)
  3. Requirements
  4. How listings are matched — and its limits
  5. Forwarding
  6. What leaves your site
  7. Privacy
  8. Languages
  9. For software vendors and developers

Isto Intents Holder lets AI assistants (ChatGPT, Claude and others) ask a WordPress listing site — cars or property — to keep looking for a person. The person confirms on that site with their own e-mail; the site e-mails the listings that fit. No code to write. Download the plugin (ZIP)

What happens#

  1. A person tells an assistant: "find me an estate car, petrol, up to 15 000 EUR".
  2. The assistant calls your site (intent_publish_intent) with that sentence and nothing else — no name, no e-mail, no phone.
  3. Your site answers with a link to its own confirmation page. The person opens it, types their e-mail, ticks the consent and confirms from the e-mail they receive.
  4. Once an hour the plugin compares every confirmed wish with your newest listings and e-mails the ones that fit, each once, with a link to stop. The assistant can show the same listings (intent_list_matches), and every link leads to your listing page.

The person stays your visitor and your subscriber. Contact data is entered only on your site.

Install (10 minutes)#

  1. Plugins → Add New → Upload Plugin, choose the ZIP, Activate. The plugin creates its tables, a confirmation page (/intent/) and an hourly task.
  2. Settings → Isto Intents: your name, the contact published in the descriptor (a role address such as info@…), country, categories (vehicles, property), languages, the currency of a private price limit, and — the one setting nothing works without — the post type of your listings. If your price is in a custom field, enter its key (price, _price, …).
  3. Press Check readiness (with a trial run). The registry at istointents.org reads your descriptor, calls your MCP server and tries the four tools once with a test wish it withdraws at once. When it answers "ready": true, press Submit to the registry.

Your MCP server is https://<your domain>/wp-json/isto-intents/v1/mcp; the descriptor that tells assistants and the registry about it is https://<your domain>/.well-known/isto-intents.json.

Requirements#

How listings are matched — and its limits#

By default a listing fits when its title, text and categories contain every word of the wish (without diacritics, and by the beginning of the word: "kombi" finds "kombík"), and — if you mapped a price field — its price is within the limit the person stated. Words such as "car", "want" or "up to" are ignored in English, Slovak, Czech, German, Hungarian and Polish. Numbers it cannot place (a year, a mileage) are reported to the assistant as not understood, so the person is told before confirming.

That is deliberately plain. A portal with its own search replaces it with one filter:

add_filter( 'isto_intents_holder_find_matches', function ( $none, $intent ) {
	$out = array();
	foreach ( my_portal_search( $intent->statement, $intent->hiddenLimitAmount ) as $row ) {
		$out[] = new IstoIntents\Holder\Listing( $row['url'], $row['title'], $row['price'], 'EUR' );
	}
	return $out; // best first; each url is delivered once
}, 10, 2 );

isto_intents_holder_listing_text adds your own fields (make, fuel, rooms) to the default matching.

Forwarding#

The Isto Intents forwarder (istointents.com/mcp) hands wishes from assistants that do not know your site yet to the portals that asked for them. Tick Forwarding to ask for them under the forwarding terms. Optionally, ask for a forwarder key for your host through istointents.com: signed forwarder calls then get their own, larger limit instead of sharing the limit per network.

What leaves your site#

Nothing, unless an operator presses one of the two buttons on the settings page; those send your host name to istointents.org. The plugin has no other outgoing calls, no tracking and no account.

Privacy#

Languages#

English, Slovak, Czech, German, Hungarian and Polish. The pages a person sees and the e-mails follow the site language; what the assistant reads stays in English, because the assistant translates it.

For software vendors and developers#

The plugin is the PHP library with a settings page. Your platform is not WordPress? Use the library directly — three routes and one method for your search.

Verified before publishing, on WordPress 7.1.3 with PHP 8.2 and MariaDB 11.4: the registry's check and trial run — the same code, run locally against the plugin — answer ready: true and readyForForwarding: true; a person's whole path works — wish, confirmation page, e-mail, confirmation, hourly matching, the listings in intent_list_matches, the stop link — with the page and the e-mails checked in English, Slovak and Czech; export, erasure and deletion leave no data behind.

Licence: GPL-2.0-or-later (LICENSE.txt), as WordPress requires of its plugins; the specification and the rest of the protocol's public part stay under CC BY 4.0.