@prefix sioc: <http://rdfs.org/sioc/ns#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix content: <http://purl.org/rss/1.0/modules/content/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

<https://lhero.org/?post_type=lh-portfolio&#038;p=147448>
  a sioc:Post ;
  dc:title "LH MCP General Abilities" ;
  dcterms:identifier 147448 ;
  dc:modified "2026-10-29T09:20:56Z"^^xsd:dateTime ;
  dc:created "2026-09-14T13:05:21Z"^^xsd:dateTime ;
  sioc:link <https://lhero.org/portfolio/lh-mcp-general-abilities/> ;
  sioc:has_creator <https://lhero.org/author/1/#account> ;
  sioc:has_container <https://lhero.org/#posts> ;
  content:encoded "<ul class=\"lh_portfolio-meta\"><li><strong>Type:</strong> Plugin</li><li><strong>Lifecycle Stage:</strong> Active</li><li><strong>GitHub:</strong> <a href=\"https://github.com/lhero-org/lh-mcp-general-abilities\">https://github.com/lhero-org/lh-mcp-general-abilities</a></li></ul><p class=\"wp-block-paragraph\">LH MCP General Abilities exposes general-purpose, cross-post-type WordPress abilities over MCP. Where <code>lh-mcp-developer-abilities</code> covers the filesystem, runtime and diagnostics, and <code>lh-query-library</code> covers read-only SQL, this plugin covers the ordinary WordPress object layer: posts of any registered type, the post types themselves, and basic site information.</p><p class=\"wp-block-paragraph\">It both reads and writes, but writing is deliberately narrow. What the two authoring abilities may write is set per post type by a filterable rules array. Posts, pages and other content can only ever be drafts or pending, so publishing them stays a human act. Block-theme menus, template parts and synced patterns, which do nothing until they are published, may be published here, but only with <code>edit_theme_options</code>, only past guards that refuse a publish that would change the live site by itself, and with every write recorded in the audit trail.</p><h2 class=\"wp-block-heading\">Key features</h2><ul class=\"wp-block-list\"><li>Retrieve a single post by ID or slug, returned as both Markdown and raw block markup.</li><li>List posts of any registered post type, with pagination, status filtering and field subsetting.</li><li>Discover the registered public post types before querying them.</li><li>Author new drafts, and revise existing ones, from Markdown, HTML or block markup — never publishing posts or pages, never touching content that is already live.</li><li>Create and edit block-theme menus (<code>wp_navigation</code>), template parts and synced patterns (<code>wp_block</code>), with guards against silently changing the live header or footer.</li><li>Move a draft you no longer need to the trash, and restore it, with the same reach as revising: never a permanent delete, never live content.</li><li>On a multisite network, <code>list-my-sites</code> lists the sites you belong to, and the post abilities are marked as working on one site&#8217;s content (<code>meta.site_scoped</code>), so a cross-site layer such as LocalHero&#8217;s LH MCP Adapter Extensions can give them an optional <code>site_id</code>.</li><li>A slimmer discover-abilities, with category, search and detail options and an <code>lh_mcp_general_abilities_discover_include</code> filter for deciding which abilities are listed.</li><li>Discover and read MCP resource-typed abilities without a human attaching them by hand.</li></ul><h2 class=\"wp-block-heading\">Install and setup</h2><p class=\"wp-block-paragraph\">Network-activate the plugin. No configuration is required; abilities become available to any MCP connector whose authenticated account holds the required capability. <a href=\"https://lhero.org/portfolio/lh-content-converter/\">LH Content Converter</a> is an optional dependency used for content conversion — without it, post content can still be read raw but not rendered as Markdown, and the authoring abilities accept only block markup. LH Audit Trail is optional too; without it, design writes, trashes and restores are simply not logged.</p><h2 class=\"wp-block-heading\">Contents</h2><ul class=\"lh_portfolio-doc-toc\"><li><a href=\"https://lhero.org/portfolio/lh-mcp-general-abilities/abilities/\">Abilities</a></li><li><a href=\"https://lhero.org/portfolio/lh-mcp-general-abilities/notes/\">Notes</a></li><li><a href=\"https://lhero.org/portfolio/lh-mcp-general-abilities/slimmer-discover-abilities/\">Slimmer discover-abilities</a></li><li><a href=\"https://lhero.org/portfolio/lh-mcp-general-abilities/menus-template-parts-and-synced-patterns/\">Menus, template parts and synced patterns</a></li><li><a href=\"https://lhero.org/portfolio/lh-mcp-general-abilities/trashing-drafts/\">Trashing drafts</a></li><li><a href=\"https://lhero.org/portfolio/lh-mcp-general-abilities/architecture-notes/\">Architecture notes</a></li><li><a href=\"https://lhero.org/portfolio/lh-mcp-general-abilities/changelog/\">Changelog</a></li></ul>"^^rdf:XMLLiteral ;
  sioc:content "Type: PluginLifecycle Stage: ActiveGitHub: https://github.com/lhero-org/lh-mcp-general-abilitiesLH MCP General Abilities exposes general-purpose, cross-post-type WordPress abilities over MCP. Where lh-mcp-developer-abilities covers the filesystem, runtime and diagnostics, and lh-query-library covers read-only SQL, this plugin covers the ordinary WordPress object layer: posts of any registered type, the post types themselves, and basic site information.It both reads and writes, but writing is deliberately narrow. What the two authoring abilities may write is set per post type by a filterable rules array. Posts, pages and other content can only ever be drafts or pending, so publishing them stays a human act. Block-theme menus, template parts and synced patterns, which do nothing until they are published, may be published here, but only with edit_theme_options, only past guards that refuse a publish that would change the live site by itself, and with every write recorded in the audit trail.Key featuresRetrieve a single post by ID or slug, returned as both Markdown and raw block markup.List posts of any registered post type, with pagination, status filtering and field subsetting.Discover the registered public post types before querying them.Author new drafts, and revise existing ones, from Markdown, HTML or block markup — never publishing posts or pages, never touching content that is already live.Create and edit block-theme menus (wp_navigation), template parts and synced patterns (wp_block), with guards against silently changing the live header or footer.Move a draft you no longer need to the trash, and restore it, with the same reach as revising: never a permanent delete, never live content.On a multisite network, list-my-sites lists the sites you belong to, and the post abilities are marked as working on one site&#8217;s content (meta.site_scoped), so a cross-site layer such as LocalHero&#8217;s LH MCP Adapter Extensions can give them an optional site_id.A slimmer discover-abilities, with category, search and detail options and an lh_mcp_general_abilities_discover_include filter for deciding which abilities are listed.Discover and read MCP resource-typed abilities without a human attaching them by hand.Install and setupNetwork-activate the plugin. No configuration is required; abilities become available to any MCP connector whose authenticated account holds the required capability. LH Content Converter is an optional dependency used for content conversion — without it, post content can still be read raw but not rendered as Markdown, and the authoring abilities accept only block markup. LH Audit Trail is optional too; without it, design writes, trashes and restores are simply not logged.ContentsAbilitiesNotesSlimmer discover-abilitiesMenus, template parts and synced patternsTrashing draftsArchitecture notesChangelog" ;
  sioc:topic <https://lhero.org/lh_portfolio-type/plugin/>, <https://lhero.org/lh_portfolio-lifecycle-stage/active/>, <https://lhero.org/?taxonomy=lh_portfolio-tags&term=mcp>, <https://lhero.org/?taxonomy=lh_portfolio-tags&term=ai>, <https://lhero.org/?taxonomy=lh_portfolio-tags&term=abilities>, <https://lhero.org/?taxonomy=lh_portfolio-tags&term=content>, <https://lhero.org/?taxonomy=lh_portfolio-tags&term=users>, <https://lhero.org/?taxonomy=author&term=cap-1> .

<https://lhero.org/author/1/#account> rdfs:seeAlso <https://lhero.org/author/1/?feed=lhrdf&format=turtle> .
<https://lhero.org/lh_portfolio-type/plugin/> rdfs:seeAlso <https://lhero.org/lh_portfolio-type/plugin/?feed=lhrdf&format=turtle> .
<https://lhero.org/lh_portfolio-lifecycle-stage/active/> rdfs:seeAlso <https://lhero.org/lh_portfolio-lifecycle-stage/active/?feed=lhrdf&format=turtle> .
<https://lhero.org/?taxonomy=lh_portfolio-tags&term=mcp> rdfs:seeAlso <https://lhero.org/?taxonomy=lh_portfolio-tags&term=mcp&feed=lhrdf&format=turtle> .
<https://lhero.org/?taxonomy=lh_portfolio-tags&term=ai> rdfs:seeAlso <https://lhero.org/?taxonomy=lh_portfolio-tags&term=ai&feed=lhrdf&format=turtle> .
<https://lhero.org/?taxonomy=lh_portfolio-tags&term=abilities> rdfs:seeAlso <https://lhero.org/?taxonomy=lh_portfolio-tags&term=abilities&feed=lhrdf&format=turtle> .
<https://lhero.org/?taxonomy=lh_portfolio-tags&term=content> rdfs:seeAlso <https://lhero.org/?taxonomy=lh_portfolio-tags&term=content&feed=lhrdf&format=turtle> .
<https://lhero.org/?taxonomy=lh_portfolio-tags&term=users> rdfs:seeAlso <https://lhero.org/?taxonomy=lh_portfolio-tags&term=users&feed=lhrdf&format=turtle> .
<https://lhero.org/?taxonomy=author&term=cap-1> rdfs:seeAlso <https://lhero.org/?taxonomy=author&term=cap-1&feed=lhrdf&format=turtle> .
