← WebMCP Directory

Tool tree

miriamschwab.me

Media & PersonalTools verified
Website
Head of WordPress at Elementor and co-founder of Strattic. I write about WordPress, open source, and AI, and test agent-readiness on this site.
Explore capabilities

    page: Every page

    contact_miriam_schwabSensitive Action

    Send a message to Miriam Schwab. It arrives in her personal inbox and a human reads it. This cannot be unsent — confirm the exact wording with the user before calling. If the contact form is visible on the page, use prepare_contact_message instead and let the user press send.

    View tool JSON
    {
      "name": "contact_miriam_schwab",
      "kind": "transact",
      "impl": "imperative",
      "description": "Send a message to Miriam Schwab. It arrives in her personal inbox and a human reads it. This cannot be unsent — confirm the exact wording with the user before calling. If the contact form is visible on the page, use prepare_contact_message instead and let the user press send.",
      "inputSchema": {
        "type": "object",
        "required": [
          "name",
          "email",
          "message"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the person the message is from — not your name as an agent."
          },
          "email": {
            "type": "string",
            "description": "A real reply-to address for that person. Replies go here."
          },
          "subject": {
            "type": "string",
            "description": "Short subject line, e.g. \"speaking invite\"."
          },
          "message": {
            "type": "string",
            "description": "The message body, in plain text."
          },
          "agent": {
            "type": "string",
            "description": "Optional. Identify yourself, e.g. \"Claude\"."
          }
        }
      },
      "page": "/"
    }

    page: Wordpress forms without plugin

    search_contentAnswer

    Full-text search across the published posts and pages of MiriamSchwab.me. Returns titles, URLs and excerpts, newest-relevant first. Use this when you know roughly what you are looking for; pass a returned url to get_content to read the whole thing.

    View tool JSON
    {
      "name": "search_content",
      "kind": "answer",
      "impl": "imperative",
      "description": "Full-text search across the published posts and pages of MiriamSchwab.me. Returns titles, URLs and excerpts, newest-relevant first. Use this when you know roughly what you are looking for; pass a returned url to get_content to read the whole thing.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "Words to search for. Keep it to a few meaningful terms — this is a keyword search, not a semantic one, so a full sentence usually matches less than its two most specific words."
          },
          "post_type": {
            "type": "string",
            "description": "Restrict to one content type. Omit to search everything.",
            "enum": [
              "post",
              "page",
              "ms_media",
              "ms_plugin"
            ]
          },
          "topic": {
            "type": "string",
            "description": "Restrict to one topic: the slug of a category, tag or other topic on this site, such as `wordpress`. Call get_site_overview with sections [\"topics\"] to see the topics and their slugs."
          },
          "limit": {
            "type": "integer",
            "description": "How many results to return, 1-50. Default 10.",
            "minimum": 1,
            "maximum": 50
          }
        },
        "required": [
          "query"
        ],
        "additionalProperties": false
      },
      "page": "/wordpress-forms-without-plugin/"
    }
    get_contentAnswer

    Returns the full text of one published post or page as Markdown, along with its title, URL and publication date. Give it a URL from search_content or list_content, or any URL on this site. Omit url to read the page the user is on.

    View tool JSON
    {
      "name": "get_content",
      "kind": "answer",
      "impl": "imperative",
      "description": "Returns the full text of one published post or page as Markdown, along with its title, URL and publication date. Give it a URL from search_content or list_content, or any URL on this site. Omit url to read the page the user is on.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "The page's URL on this site. A path such as `/about/` works too."
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "page": "/wordpress-forms-without-plugin/"
    }
    list_contentAnswer

    Lists published content newest first, without searching. Use this to see what is on the site, to find the most recent writing, to see everything on one topic, or to page through everything.

    View tool JSON
    {
      "name": "list_content",
      "kind": "answer",
      "impl": "imperative",
      "description": "Lists published content newest first, without searching. Use this to see what is on the site, to find the most recent writing, to see everything on one topic, or to page through everything.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "post_type": {
            "type": "string",
            "description": "Which content type to list. Omit for all of them.",
            "enum": [
              "post",
              "page",
              "ms_media",
              "ms_plugin"
            ]
          },
          "topic": {
            "type": "string",
            "description": "Restrict to one topic: the slug of a category, tag or other topic on this site, such as `wordpress`. Call get_site_overview with sections [\"topics\"] to see the topics and their slugs."
          },
          "limit": {
            "type": "integer",
            "description": "How many items to return, 1-50. Default 20.",
            "minimum": 1,
            "maximum": 50
          },
          "offset": {
            "type": "integer",
            "description": "How many items to skip, for paging through the whole list.",
            "minimum": 0
          }
        },
        "additionalProperties": false
      },
      "page": "/wordpress-forms-without-plugin/"
    }
    get_site_overviewAnswer

    What this site is, who runs it, how much content it has, which topics it covers, and which machine-readable endpoints it publishes. Call this once at the start if you have no context on the site.

    View tool JSON
    {
      "name": "get_site_overview",
      "kind": "answer",
      "impl": "imperative",
      "description": "What this site is, who runs it, how much content it has, which topics it covers, and which machine-readable endpoints it publishes. Call this once at the start if you have no context on the site.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "sections": {
            "type": "array",
            "description": "Which parts of the overview to return. Omit for all of them. Ask for a subset when you already have context and only need one thing — `endpoints` alone is a fraction of the tokens of the whole overview.",
            "items": {
              "type": "string",
              "enum": [
                "about",
                "content",
                "topics",
                "endpoints",
                "actions"
              ]
            }
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "page": "/wordpress-forms-without-plugin/"
    }