protogrid

Search / com.meowapps/ai-engine

AI Engine for WordPress

R0· no sign-in

Free MCP server for WordPress: Claude and ChatGPT connect with OAuth. No account, cap or API key.

v3.8.8 · active · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality90strong
Trust83of 100
Uptime, 30 days100%
Latency p50231 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "ai-engine": {
      "type": "http",
      "url": "https://connect.meowapps.com/mcp"
    }
  }
}
claude mcp add --transport http ai-engine https://connect.meowapps.com/mcp
[mcp_servers.ai-engine]
url = "https://connect.meowapps.com/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ai-engine": {
      "type": "remote",
      "url": "https://connect.meowapps.com/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "ai-engine": {
      "type": "http",
      "url": "https://connect.meowapps.com/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=ai-engine&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vY29ubmVjdC5tZW93YXBwcy5jb20vbWNwIn0%3D"
}
{
  "servers": {
    "ai-engine": {
      "type": "http",
      "url": "https://connect.meowapps.com/mcp"
    }
  }
}
{
  "mcpServers": {
    "ai-engine": {
      "httpUrl": "https://connect.meowapps.com/mcp"
    }
  }
}
extensions:
  "ai-engine":
    enabled: true
    name: "ai-engine"
    type: streamable_http
    uri: "https://connect.meowapps.com/mcp"
    timeout: 300

Quality 90 / 100strong

protocol88 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • warn
    protocol.list_ttltools/list carries no ttlMs, so clients re-fetch it
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene88 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations30 of 30 tools declare readOnlyHint or destructiveHint
  • fail
    tools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: wp_get_post_types (idempotentHint); wp_get_taxonomies (idempotentHint); wp_update_comment (idempotentHint); …
  • pass
    tools.token_costabout 4,192 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
  • pass
    tools.hidden_textno hidden text in tool names, descriptions, schemas or annotations
stability100 · weight 15
  • pass
    stability.changesno tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
  • pass
    stability.new_linksno tool change named a new site
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

30 tools, about 4,192 tokens to load them all · tool set d3308ee81b72 · checked 2026-11-14 07:03 UTC

Tool changes

No tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 83 / 100

no-repository
provenance55
liveness100
freshness100
hygiene80

+dns-namespace +website +reachable +uptime-100% +updated-18d-ago -no-repository

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://connect.meowapps.com/mcp streamable-httpnoneyes100%231 ms2026-07-28, 2025-11-25, 2025-06-18, 2025-03-262026-11-14

Tools (30)

wp_add_post_termsdestructiveAttach terms to a post. With append set to true they are added to the existing terms; otherwise they replace all terms of that taxonomy on the post.
wp_alter_postdestructiveFind and replace text inside one field of a post (for example its content), without sending the whole content again. Supports regular expressions with regex set to true and modifiers in flags.
wp_count_mediaread-onlyCount the items in the Media Library, optionally within a date range.
wp_count_postsread-onlyCount posts by status (published, draft, scheduled, pending, private, trash) for one post type. The default post type is post.
wp_count_termsread-onlyCount the terms in a taxonomy.
wp_create_commentAdd a comment to a post. post_id and comment_content are required; author name, email, URL and approval status are optional.
wp_create_noteAdd an editor note to a block of a post (WordPress 6.9 or later), as shown in the editor's Notes panel. Locate the block with anchor_text (a short exact snippet of its text) or block_index, or reply to an existing note with parent_id.
wp_create_postCreate a post, page or item of another post type. post_title is required. post_content accepts HTML, blocks or Markdown. The status is draft unless post_status says otherwise, and the type is post unless post_type says otherwise. meta_input sets custom fields.
wp_create_termCreate a term in a taxonomy, such as a new category or tag, with an optional slug, description and parent.
wp_delete_postdestructiveMove a post, page or item of another post type to the trash by ID. It can be restored from the trash in WordPress.
wp_get_commentsread-onlyList comments with their post, author, content, date and approval status. Filter by post_id, status, search text, user_id or author_email. Returns 10 unless limit is set. With type set to "note", it lists the editor notes on posts, where an approval status of 1 means the note thread is resolved.
wp_get_mediaread-onlyList items in the Media Library with their ID, title and URL. Filter by search text, uploader or date range. Returns 10 unless limit is set.
wp_get_postread-onlyGet one post or page by ID: title, content, status, dates and permalink. Set content_format to "prose" to return the text without block markup.
wp_get_post_metaread-onlyGet the custom fields of a post by ID. Pass key to read a single field; without it, all custom fields are returned.
wp_get_postsread-onlyList posts, pages or another post type, newest first. Returns ID, title, status, excerpt and link for each, without the full content. Filter by post_type, post_status, search text, author (user ID or slug) or a date range. Returns 10 items unless limit is set; page with offset or paged.
wp_get_post_snapshotread-onlyGet everything about one post by ID: all fields, custom fields, terms, featured image and author. Use include or exclude to limit the sections returned.
wp_get_post_termsread-onlyList the terms attached to a post, optionally for one taxonomy only.
wp_get_post_typesread-onlyList the public post types on the site with their key and label, such as post, page or product.
wp_get_site_inforead-onlyGet the site's name, tagline, address and time zone.
wp_get_taxonomiesread-onlyList the taxonomies available for a post type, such as categories and tags.
wp_get_termsread-onlyList the terms of a taxonomy (for example every category), optionally filtered by search text or parent term.
wp_list_block_patternsread-onlyList the block patterns available on the site (ready-made layouts from WordPress, the theme and plugins), with name, title, categories and description. Filter by search text or category. Set include_content to true to also get each pattern's block markup, which can be placed in a post with Update post or Edit post text.
wp_set_featured_imagedestructiveSet the featured image of a post to a Media Library item, or remove it when media_id is empty.
wp_update_commentdestructiveUpdate a comment by ID: its content or its approval status (approve, hold or mark as spam).
wp_update_mediadestructiveUpdate the title, caption, description or alt text of a Media Library item.
wp_update_notedestructiveEdit the text of an editor note, or mark its thread as resolved or reopen it.
wp_update_postdestructiveUpdate an existing post by ID: title, content, excerpt, status, slug, date or custom fields. Pass the fields to change in fields and custom fields in meta_input. Set schedule_for to schedule publication. Passing post_category replaces all of the post's categories.
wp_update_termdestructiveUpdate the name, slug, description or parent of an existing term.
wp_upload_mediaAdd a file to the Media Library, either from a public URL that WordPress downloads or from base64 content with a filename. Optional title, description and alt text.
wp_write_blocksdestructiveWrite block editor content to an existing post from a list of block specs. Types and fields: paragraph (content), heading (content, level 1-6), list (items, ordered), quote (content, citation), image (url, alt, caption), buttons (buttons: text, url), group (blocks), columns (columns: arrays of blocks), separator, spacer (height), code (content), html (content). mode is replace (default), append or prepend.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "com.meowapps/ai-engine",
  "title": "AI Engine for WordPress",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://connect.meowapps.com/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "3.8.8",
  "websiteUrl": "https://meowapps.com/ai-engine/",
  "description": "Free MCP server for WordPress: Claude and ChatGPT connect with OAuth. No account, cap or API key."
}