Should I use Functions or MCP?

Let’s clarify the difference between Functions and MCP (Message Control Protocol) in AI Engine, and when to use which.

Quick Intro: Functions

In the context of AI Engine, functions are local features or actions that your WordPress site can perform — like creating a post, updating metadata, or fetching data.

You can expose these functions to an AI model, so it can call them based on the conversation or request. The model will analyze the user’s input, decide if a function is needed, ask for parameters if required, and then call the function. Everything happens directly in WordPress — fast and simple.

Quick Intro: MCP

MCP is a different approach. It’s not just a way to trigger local actions — it’s a full protocol designed to enable a two-way communication channel between a client and a server, typically using Server-Sent Events (SSE).

MCP is still evolving, often slower than Functions, and may require extra configuration like proxies, endpoints, and middlewares.

AI Engine can work as both an MCP Server and (indirectly) as a Client interface that enables models like OpenAI or Claude to connect to other MCP Servers.

MCP Server

When AI Engine acts as an MCP Server, it exposes your WordPress features to external clients like Claude (the desktop app), allowing them to interact with your site — for example, editing posts, checking SEO, or reading content.

To set this up:

  • Enable the Orchestration module.
  • Go to Settings > Remote Access and activate the SSE Endpoint.
  • Optionally, enable Tuned Core to expose common features like editing posts.

Once enabled, you can connect to your WordPress remotely using an MCP-compatible client.

MCP Client

AI Engine itself doesn’t need to act as a direct MCP client. Instead, it lets the AI models (like OpenAI or Claude) connect to external MCP Servers and call their features as needed.

Here’s how to use MCP Servers in AI Engine:

  • Go to Settings > Orchestration > MCP Servers.
  • Add your MCP servers (like remote WordPress instances or third-party services).
  • Then, go to any chatbot configuration and select the MCP Servers you’d like the model to use.

During a conversation, the model will query the MCP servers for available features, and call them if needed.

Hybrid (Using Itself)

You can technically set AI Engine as an MCP Server and connect to itself via the MCP Client interface — but this is usually inefficient. If everything is on the same WordPress, just use Functions.

Which One to Use?

Here are some common use cases to help you choose:

  • Want your chatbot to modify your WordPress (create posts, update data)?
    ✅ Use Functions
  • Want your chatbot to connect to Google Analytics, Stripe, or another external app?
    ✅ Use MCP (Client)
  • Want to control your WordPress from Claude (on your Mac or PC)?
    ✅ Use MCP (Server)
  • Want to connect multiple WordPress sites together?
    ✅ Use MCP
  • Building everything within one WordPress?
    ✅ Use Functions — they’re faster, simpler, and made for this.

If you’re not sure, start with Functions — they cover most use cases. Explore MCP when you want your chatbot to interact with services beyond your WordPress site.

Does it support my language?

Can it read Hebrew, Japanese (or any other) texts ?

The models are trained on gigantic dataset. Mainly English, but also many other languages. It would be incorrect to state that models support a specific language; they were trained on most of them, and the results depend highly on how much of that language was present in the training dataset. There are no official information about this and the best way is to test it with the AI Playground. Only you can value the quality of the reading/writing ability of the model has with this language.

My language doesn’t seem to be supported, can you add it?

You need to define it in the prompt (or the context, in the case of the chatbot). For example, for the shortcode, the context would be: “Converse in French, as if you were Emmanuel Macron. Be haughty!”

If you are talking about the languages available in the UI of AI Engine (for instance, in the Content Generator), you can actually add it. I am an advocate of clean UI, so I want to enable you to remove the languages you don’t need, and add the ones you need! You can do it this way:

add_filter( 'mwai_languages', function( $languages ) {
  unset($languages['it']); // Remove Italian
  $languages['hu'] = "Hungarian"; // Add Hungaria
  return $languages;
}, 10, 1);

Try to use the proper language code (ISO-639).

Where can I send a feature request?

Jordy’s all about turning your ideas into reality. Hit up our Discord Community to toss in your feature requests. Let’s make this plugin awesome together!

Go in the “feature-requests” board and use the “new post” to add your request.

Remember, if you have technical knowledge, most of your ideas can be done with custom code by using AI Engine filters.

Have a must-have feature? Be a sponsor! Shoot us a message on our support platform with “sponsor” and details about the feature.

Just a heads up, sponsorship means serious business. Only reach out if you’re ready for that commitment. Thanks for understanding! 🙌💙

Why are the links fake or broken?

The question really is “Can AI models redirect users to specific pages on my website?”. Yes, they “can”. However, implementing this functionality requires careful consideration and setup.

If you’ve gone through the documentation and feel unsure about building your own tool to manage links within your chatbot, we’ve got you covered with an AI Engine add-on. It handles everything for you, from checking links to redirecting users to actual pages or even WooCommerce products. Learn more about it here.

Configuring Your Chatbot to Understand Your Site

Step 1: Educate Your Chatbot

Your chatbot must be well-acquainted with your website to perform effectively. There are several methods to achieve this:

  • Integrate a site map into your chatbot’s knowledge base.
  • Provide it with a list of URLs corresponding to specific content on your site.
  • Use training data that includes references to your web pages.

Example

Ensure your chatbot recognizes your main site: https://meowapps.com/. You should also supply it with specific URLs. For example, include in your training data a line like:

For more information, please visit https://meowapps.com/specific-topic/

Understanding the AI’s Functionality

The AI functions by generating text based on patterns it has learned from the provided data. It is not inherently aware of your website’s structure or content but can provide users with links based on the training it has received.

Potential Issues

If a user requests information on a topic that isn’t directly covered by your training data, the AI might generate a plausible yet non-existent link.

🧕: What is AI Engine ? 🤖: This is a MeowApps plugin. You can learn more here: https://meowapps.com/ai-engine/

🧕: What is Meow Engine ? 🤖: This is a MeowApps plugin. You can learn more here: https://meowapps.com/meow-engine

Best Practices

  • Use a Consistent Format: When training your chatbot with URLs, maintain a consistent format to help the AI recognize and provide accurate links.
  • Set an Appropriate Temperature: A lower temperature setting increases the likelihood that the chatbot will repeat links accurately without improvisation.
  • Regularly Update Training Data: As your website evolves, update your chatbot’s knowledge base to include new pages and content.

Monitoring and Feedback

It’s crucial to monitor your chatbot’s performance and gather user feedback. This will help you identify instances when the chatbot provides incorrect links, allowing you to adjust its training accordingly. You can intervene “manually” to check if a link exists, and in the case it doesn’t, delete it from the message or send a default link/message. This process may require some technical knowledge and the use of AI Engine Filters.

Can I restrict what the chatbot talks about?

Are you in this situation?

“My chatbot is using data from the web, but I only want it to use my files or data.”

This can be frustrating, but here’s the simple truth: that’s not how AI works.

The AI model does not actually use or browse the web unless you make a web request and include that content in its context. This is what “Web Search” tools or ChatGPT is doing behind curtains to give you fresh information, but simply relies on the given data as context and use it with its current knowledge.

When you talk to an AI, it relies on the knowledge it was trained on, a mix of text, documents, and examples that help it understand language and concepts. This training data is what makes the model capable of reasoning and answering questions in the first place, it cannot be turned off.

If you want an AI model to talk about or know something, add it to its context. That’s it.

So, you can’t make the AI rely ONLY on your website or files. However, you can guide and limit what it focuses on by providing more context. The best way to do this is through:

For example, you could say:

“If this question isn’t about our company, reply with: ‘I can’t assist with this matter.’”

This won’t make the AI forget its general knowledge, but it helps you steer its focus toward your data and keep answers relevant. With a bit of testing and refinement, you can make your chatbot behave the way you want.

OpenAI has developed its own tool to help you refine your prompts and optimize them. You can check it out here: OpenAI Prompt Editor

The AI responses are based on its context. If the context is empty, it will reply using only its default knowledge. So make sure you are actually feeding the right data into your chatbot’s context for it to generate meaningful responses. This context can come from various sources, you can learn more by reading the documentation.

If you have technical knowledge, you can use a filter like mwai_context_search to manually check if any content (from embeddings or other sources) was added to the context. If the context is empty, you can force the chatbot to reply with a message indicating that it doesn’t have the necessary information to answer the query.

Note that this is not recommended. This is more of a hacky way to ensure Knowledge content has been added to the current context of your chatbot and then block a response if it doesn’t contain anything. Also, this does not mean the response will be accurate.

// Hook into the "mwai_context_search" filter to handle context verification.
add_filter( "mwai_context_search", 'my_context_check', 10, 3 );

// Function to handle context verification.
function my_context_check( $context, $query, $options = [] ) {
  if ( !empty( $context ) ) {
    // If context is available, let the conversation proceed naturally.
    return $context;
  } else {
    // If no context is found, set up a placeholder to indicate an empty context.
    $context["content"] = '{EMPTY}';
    $context["type"] = "filter";
    return $context;
  }

  return null;
}

// Hook into the "mwai_ai_reply" filter to modify the AI reply.
add_filter('mwai_ai_reply', 'my_mwai_reply', 10, 2);

// Function to modify the AI reply when an empty context is detected.
function my_mwai_reply( $reply, $query ){
  if ( $query instanceof Meow_MWAI_Query_Text ) {
    // Retrieve the context and check if it was our {EMPTY} keyword.
    $context = $query->context;
    if ( $context === '{EMPTY}' )
    {
      // If an empty context is detected, change the reply to a default message.
      $reply->set_reply("Sorry, I don't have enough information to answer that right now. Please try asking something else or provide more details.");
    }
  }
  return $reply;
}

Does Meow Apps store or process my data?

AI Engine is a serverless plugin. No data is transmitted elsewhere other than your database and the used API (OpenAI / Azure / Pinecone / …). Therefore, if you are storing any data through the queries made to your chatbot, you are the only responsible person for their security and for complying with your region’s cybersecurity laws.

Where are the chatlogs saved ?

All the data saved by AI Engine is stored in your WordPress database, and all AI Engine tables are prefixed with “mwai.” You can access them just like you would normally access your database for any other table.

You can find all of the chat logs inside the ‘wp_mwai_logs‘ table.

You can find all of the discussions inside the ‘wp_mwai_chats’ table.

Where are images stored ?

If you use Vision-capable models, your users might upload images. To be processed, these images first need to be stored, and this will be done directly on your local install. You have the choice between using the “filesystem” or “Media Library”. In both cases, images will be uploaded to your “uploads” folder.

  • With the “filesystem,” the image will be renamed to have a random anonymized name and will exist as a single file.
  • With the Media Library, it will use the WordPress upload function and create all the different thumbnails of the image with the original name.

No data is stored by MeowApps anywhere online. The image is then sent to OpenAI either by using BASE64 encoding or by sending the public URL of the image, depending on the setting you chose.