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.
README
AgentLinkWP
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:
- MCP OAuth 2.1, GitHub OAuth med upstream PKCE og Workerens kontrol af numerisk GitHub-bruger-ID.
- Gatewayens validering, plan og eksakte bekræftelsesfrase.
- Den valgte sides maksimale rettighedsloft.
- Connectorens live allow/deny-politik.
- 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
- Opret D1-databasen
agentlinkwpog KV-namespaceagentlinkwp-oauth, og indsæt deres ID'er igateway/wrangler.jsonc. - Deploy Worker-koden og opret en GitHub OAuth App med callback
https://<worker>/callback. - Sæt GitHub-klientoplysninger,
ALLOWED_GITHUB_USER_IDS,COOKIE_ENCRYPTION_KEY,PLAN_KEYogSITES_JSONsom Worker secrets. - 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
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.