AgentLinkWP

AgentLinkWP

Enables MCP-compatible AI agents to securely manage multiple self-hosted WordPress sites, including content editing, theme management, and maintenance operations with fine-grained permission controls.

Category
Visit Server

README

AgentLinkWP

Gateway status Last commit License

Live gateway: agentlinkwp-gateway.saadsufianbarzanji.workers.dev

AgentLinkWP forbinder ChatGPT og andre MCP-kompatible AI-agenter med flere selvhostede WordPress-sites. Produktionsarkitekturen er bevidst lille:

  • AgentLinkWP Gateway på Cloudflare Workers med Streamable HTTP på /mcp.
  • GitHub OAuth som login med PKCE og allowlist af uforanderlige numeriske GitHub-bruger-ID'er.
  • Cloudflare KV til kortlivede OAuth-stateværdier og udstedte MCP-tokens.
  • Cloudflare D1 til krypterede, kortlivede ændringsplaner og metadata-only audit.
  • AgentLinkWP Connector i hvert WordPress-site som den endelige sikkerhedsgrænse.

GitHub opbevarer kildekode og CI. GitHub er ikke runtime.

Hvorfor denne arkitektur

AgentLinkWP har funktionel bredde gennem WordPress REST API og WordPress Abilities API, men skriver ikke frit til serveren. Alle handlinger skal passere:

  1. MCP OAuth 2.1, GitHub OAuth med upstream PKCE og Workerens kontrol af numerisk GitHub-bruger-ID.
  2. Gatewayens validering, plan og eksakte bekræftelsesfrase.
  3. Den valgte sides maksimale rettighedsloft.
  4. Connectorens live allow/deny-politik.
  5. Den dedikerede WordPress-brugers normale capabilities.

En deny-regel vinder altid. Permanente sletninger, core-opdateringer og ukendte REST-ruter kræver et separat 15-minutters break-glass-vindue i WordPress.

Relevante funktioner

Område Understøttelse
Flere websites Separate aliaser, credentials, politikker og audit
Indhold Indlæg, sider, kladder, publicering, revisioner og rollback
REST Signeret læsning og planlagte writes til klassificerede WordPress/WooCommerce-ruter
Abilities API Discovery, schema-inspektion og bekræftet udførelse på WordPress 6.9+
Temaer Isoleret kladde, filliste, læs/skriv, preview og særskilt publicering
Vedligehold Cache, plugin-/tema-/core-opdateringer med rettigheds- og break-glass-kontrol
Audit Metadata om plan, udførelse, fejl og rollback; ingen credentials eller indholdsbody

Sikker tema-redigering

Aktive temafiler redigeres aldrig direkte. Connectoren kloner det aktive tema til en isoleret workspace-mappe og håndhæver:

  • maksimum 2.000 filer og 100 MiB pr. workspace;
  • maksimum 1 MiB pr. læst eller skrevet fil;
  • allowlist: .php, .css, .js, .json, .html, .htm, .txt;
  • blokering af path traversal og symbolske links;
  • PHP-grammatikvalidering med token_get_all(..., TOKEN_PARSE);
  • SHA-256 versionslås, så en nyere fil ikke overskrives;
  • atomisk temp-fil + rename ved skrivning;
  • separat preview og eksplicit bekræftet aktivering.

DISALLOW_FILE_MODS respekteres.

Repository

gateway/                              Cloudflare Worker, D1 migration og remote MCP
wordpress-plugin/agentlinkwp-connector/  WordPress-sikkerhedsplugin
config/permission-catalog.json        Gatewayens rettighedskatalog
src/ og tests/                        Transportuafhængig kontrakt-/sikkerhedsharness
docs/                                 Dansk installation, rettigheder og testprompts

src/-harnessen bruges til automatiske kontrakt- og WordPress-tests. Produktionsforbindelsen kører online via gateway/.

Lokal validering af kode

npm ci
npm run check
npm run check:gateway
npm run check:php
npm test
npm run build
npm run package:plugin
npm run test:wordpress

Cloudflare-opsætning

  1. Opret D1-databasen agentlinkwp og KV-namespace agentlinkwp-oauth, og indsæt deres ID'er i gateway/wrangler.jsonc.
  2. Deploy Worker-koden og opret en GitHub OAuth App med callback https://<worker>/callback.
  3. Sæt GitHub-klientoplysninger, ALLOWED_GITHUB_USER_IDS, COOKIE_ENCRYPTION_KEY, PLAN_KEY og SITES_JSON som Worker secrets.
  4. Kør D1-migrationen, og forbind ChatGPT til https://<worker>/mcp.

Eksempelkommandoer findes i Cloudflare-installationen.

Bevidste grænser

  • Page-builder-data som Elementor-, Divi- og Bricks-layouts ændres ikke direkte, før der er en builder-specifik adapter med schema- og round-trip-tests.
  • Vilkårlig shell, rå PHP-udførelse og SQL writes eksponeres ikke.
  • En read-only SQL-diagnostik og et større sæt native vedligeholdelseskommandoer tilføjes først, når de har særskilte allowlists og negative tests.
  • Første installation skal prøves på staging og med et verificeret backup-punkt.

Se SECURITY.md for trusselsmodel og rapportering.

Licens

AgentLinkWP Connector er GPL-2.0-or-later. Gateway-koden kan holdes privat i dette repository.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured