WebsitePublisher.ai
officialPublish complete websites directly from any AI client via API — no hosting setup, CMS, or configuration required.
What can you do with WebsitePublisher Ai MCP?
- Manage projects and pages — Ask your assistant to list projects, create pages, or update page content, , and .
- Handle assets and versioning — Upload images or CSS, review page version history, and roll back changes, , and .
- Configure forms and tracking — Set up server-side forms, inject analytics scripts, or manage visitor auth, , and .
- Automate with integrations — Search 100+ available integrations, configure them with API keys, and execute their actions through and
execute_integration. - Schedule and manage tasks — Create recurring automated tasks, list scheduled runs, and track task history with and
tasks.
Documentation
🔗 Server Endpoints
MCP Server https://mcp.websitepublisher.ai
OpenAPI Spec openapi.json
Discovery .well-known/mcp.json
Protocol Streamable HTTP + JSON-RPC 2.0
Auth OAuth 2.1 (auto-discovery) or Bearer token
Three ways to connect. Option A is the quickest — WebsitePublisher is listed in Anthropic's Connectors Directory, so it takes one click and works on every Claude plan, free included. Option B configures Claude Desktop for you and also sets up Cursor, Windsurf and VS Code. Option C is manual MCP config.
1
Open the listing in Claude
Go straight to the WebsitePublisher listing, or in claude.ai open Settings → Connectors and search for WebsitePublisher. Nothing to paste, nothing to configure.
2
Click Connect and authorize
Sign in with your WebsitePublisher account when prompted. Tools are available immediately in your chat. The listing carries a Community badge — that is Anthropic's review tier, not a limitation.
🌐 The web connector works in any browser — no desktop app or Node.js needed. Perfect for quick edits on the go.
Add this to your claude_desktop_config.json:
{
"mcpServers": {
"websitepublisher": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.websitepublisher.ai/"]
}
}
}
💡 On first use, a browser window opens for OAuth sign-in. After that, tokens are cached automatically.
Add WebsitePublisher as a remote MCP server in Cursor. Cursor handles OAuth natively — no bridge or Node.js needed.
1
Add MCP config
Create or edit ~/.cursor/mcp.json (all projects), or .cursor/mcp.json in your project folder:
{
"mcpServers": {
"websitepublisher": {
"url": "https://mcp.websitepublisher.ai/"
}
}
}
2
Restart Cursor
Fully quit and reopen. Switch to Agent mode in the chat panel (Ctrl+L → Agent toggle).
3
Authenticate
On first use, Cursor opens your browser to sign in to WebsitePublisher. After sign-in you are sent back to Cursor automatically and the tools are available.
💡 Still using the older npx mcp-remote config? It keeps working, but the url config above is simpler and does not need Node.js.
VS Code 1.101+ supports native remote MCP with OAuth auto-discovery. No bridge needed.
1
Add MCP config
Create .vscode/mcp.json in your workspace:
{
"servers": {
"websitepublisher": {
"type": "http",
"url": "https://mcp.websitepublisher.ai/"
}
}
}
2
Authenticate
Copilot auto-discovers OAuth. Sign in when the browser opens.
3
Use in Agent mode
Switch to Agent mode in Copilot Chat and start building.
💡 Note the different format: "servers" (not "mcpServers") and "type": "http" + "url".
Devin Desktop has native Streamable HTTP + OAuth auto-discovery. No bridge, no Node.js — just a URL.
1
Add MCP config
Create or edit ~/.config/devin/mcp_config.json (Windows: %APPDATA%\devin\mcp_config.json), or open it from the Cascade panel: … menu → MCPs → Open MCP config file:
{
"mcpServers": {
"websitepublisher": {
"serverUrl": "https://mcp.websitepublisher.ai/"
}
}
}
2
Enable MCP server
Restart Devin Desktop. In the Cascade panel (… menu → MCPs), enable the WebsitePublisher MCP server. Click "Allow" when asked to open external website.
🌟 Devin Desktop is the cleanest integration — no bridge, no npx, no Node.js required.
Build custom copilots with WebsitePublisher capabilities. Integrates via OAuth into your Microsoft 365 environment.
1
Create a new Copilot
In Copilot Studio, create a new copilot or open an existing one.
2
Add MCP connector
Go to Settings → Connectors → Add MCP connector. Enter server URL: https://mcp.websitepublisher.ai/
3
Configure OAuth
Copilot Studio auto-discovers the OAuth configuration. Complete the sign-in flow to authorize.
4
Enable tools
Select which WebsitePublisher tools your copilot should have access to and publish.
⌨️ Developer SDKs
Gemini and Grok both work directly in their web apps via a custom connector. Developers can also connect through the Gemini SDK or the xAI API.
Add WebsitePublisher as a custom app in the Gemini app. Gemini registers itself and handles sign-in via OAuth — no API key needed.
ℹ️ Google currently offers custom apps to personal Google accounts in the US, age 18+, with Gemini set to English and Keep Activity on. Work or school accounts: see Gemini Enterprise below.
1
Add a custom app
On gemini.google.com, open Settings → Connected Apps and add a custom app with MCP server URL https://mcp.websitepublisher.ai.
3
Start building
In a Gemini chat, ask: "Using WebsitePublisher, list my projects." The app also works in Spark on web and mobile.
🏢 Gemini Enterprise: a Google Workspace admin adds https://mcp.websitepublisher.ai as a custom MCP server for the organisation; team members then connect with their own WebsitePublisher account.
Developers: Gemini SDK
Google's Gemini SDK has built-in MCP support via stdio transport with npx.
Python
pip install google-genai mcp
import asyncio
from google import genai
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client
client = genai.Client(api_key="your_gemini_api_key")
server_params = StdioServerParameters(
command="npx",
args=["-y", "websitepublisher-mcp@latest"],
env={"WPS_TOKEN": "wps_your_session_token_here"}
)
async def main():
async with stdio_client(server_params) as (read, write):
async with ClientSession(read, write) as session:
await session.initialize()
response = await client.aio.models.generate_content(
model="gemini-3.6-flash",
contents="List my WebsitePublisher projects",
config=genai.types.GenerateContentConfig(
temperature=0,
tools=[session],
)
)
print(response.text)
asyncio.run(main())
JavaScript
npm install @google/genai @modelcontextprotocol/sdk
import { GoogleGenAI, mcpToTool } from "@google/genai";
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
const transport = new StdioClientTransport({
command: "npx",
args: ["-y", "websitepublisher-mcp@latest"],
env: { WPS_TOKEN: "wps_your_session_token_here" }
});
const mcpClient = new Client({ name: "my-app", version: "1.0.0" });
await mcpClient.connect(transport);
const ai = new GoogleGenAI({ apiKey: "your_gemini_api_key" });
const response = await ai.models.generateContent({
model: "gemini-3.6-flash",
contents: "Create a homepage for my portfolio",
config: { tools: [mcpToTool(mcpClient)] }
});
console.log(response.text);
Grok
Connector
Add WebsitePublisher as a custom connector on grok.com. Grok handles sign-in via OAuth.
1
Add a custom connector
On grok.com, open Settings → Connectors and add a custom connector with URL https://mcp.websitepublisher.ai.
3
Start building
In a Grok chat, ask: "Using WebsitePublisher, list my projects."
💡 Grok Business / Enterprise: a team admin must add the connector before team members can use it.
Developers: xAI API
Grok also supports MCP via the remote_mcp tool type in the xAI SDK.
pip install xai-sdk
from xai_sdk import Client
client = Client(api_key="your_xai_api_key")
chat = client.chat.create(
model="grok-4-1-fast",
tools=[{
"type": "remote_mcp",
"server_url": "https://mcp.websitepublisher.ai",
"server_label": "websitepublisher",
"authorization": "wps_your_session_token_here"
}]
)
response = chat.send("List my WebsitePublisher projects")
print(response.content)
🛠️ Available Tools (45)
All platforms get access to the same core tools, and together they cover the full stack: pages and assets, data, forms, auth (admin, tenant and visitor), integrations and the vault, scheduled tasks and project history. The exact count varies per project — configured integrations add dynamic tools automatically:
Projects
get_started
Start here — returns your project and the exact next call
get_skill
Build patterns, design guidelines, go-live checklist
list_projects
List all your projects
get_project_status
Page/asset counts, domain
create_project
Create new project (name, subdomain)
Pages
list_pages
List pages in project
get_page
Get page HTML + version info
create_page
Create new HTML page
update_page
Replace entire page
patch_page
Partial update with diff/patch
delete_page
Delete a page
Versioning
get_page_versions
Version history with diffs
rollback_page
Rollback to previous version
Assets
list_assets
List images, CSS, JS
upload_asset
Upload via base64 or URL
delete_asset
Delete an asset
get_asset
Read asset content (JS, CSS, JSON, SVG)
patch_asset
Partial find-replace edits on assets
Entities (Dynamic Data)
entities
Entity types: list, create, get schema, update, delete (operation-based)
records
Entity rows: list, get, create, update, delete (operation-based)
Vault (Secrets)
vault_list_secrets
List stored secret keys
vault_store_secret
Store encrypted secret
vault_delete_secret
Remove a secret
Integrations
list_integrations
Available integrations
search_integrations
Find integrations by what you want to do (100+ available)
setup_integration
Configure with API keys
execute_integration
Run an integration action
remove_integration
Remove integration config
Forms (SAPI)
configure_form
Define form + server action
list_forms
List configured forms
remove_form
Delete form configuration
Tracking
set_tracking_scripts
Inject GA, GTM, Pixel etc.
get_tracking_scripts
Get current tracking config
remove_tracking_scripts
Remove all tracking scripts
Visual Editor (WPE)
create_edit_session
Open visual image editor for a page
get_edit_session_changes
Get pending changes from editor session
Scheduled Tasks (AAPI)
create_scheduled_task
Schedule automated recurring tasks
list_scheduled_tasks
List all scheduled tasks + next run
delete_scheduled_task
Remove a scheduled task
Task Management (TAPI)
tasks
Tasks with history: list, get, create, add_history, search, export (operation-based)
Visitor Auth & Analytics (SAPI)
configure_visitor_auth
Set up visitor authentication
get_visitor_auth_config
Get visitor auth configuration
get_analytics
Visitor analytics for project
get_integration_schema
Get full integration schema + endpoints
🔗 Dynamic Integration Tools
Beyond the 45 core tools, WebsitePublisher generates additional tools dynamically based on your project's configured integrations. Each integration exposes its own endpoints through execute_integration — no extra MCP tools needed.
124 integrations available across these categories:
AI
Anthropic, OpenAI, Gemini, Groq, Mistral, Replicate, ElevenLabs, Deepgram, Stability, Perplexity
E-commerce
Product catalog, cart, checkout, orders, inventory, invoices, discounts, reviews, wishlists
Payments
Stripe, Mollie, PayPal
Resend, SendGrid, Mailgun, SMTP, Mailchimp, Brevo, Kit
Social
LinkedIn, Twitter/X
Messaging
Slack, Discord, Telegram, Twilio (SMS + WhatsApp)
Shipping
PostNL, SendCloud
CRM & Productivity
HubSpot, Notion, Linear, Todoist, Airtable, Supabase
Media
Cloudinary, Unsplash, Pexels, Giphy, Imgur, Vimeo, YouTube
Data
Google Places, NewsAPI, OpenWeather, Overheid.io KVK, Web Scraper
Platform
Blog, comments, flows, file downloads, email templates, analytics, Schema.org, and more
Dev & Monitoring
GitHub, Sentry, Cal.com
📖 See Integration Docs for the full list with endpoints and setup guides.
💬 Example Prompts
These work on any platform:
🔧 Troubleshooting
ChatGPT: WebsitePublisher is not being used
If ChatGPT answers on its own (for example with a page preview in the chat that is not published anywhere), start your message with @WebsitePublisher. If the app still does not respond, check that it is connected in your ChatGPT settings and reconnect it to refresh the OAuth sign-in. Using the Custom GPT? Make sure it is our official Custom GPT, not a manually created one.
Claude: Tools not showing
Fully quit Claude Desktop (not just close the window) and reopen. If still missing, run the Connect app again to reconfigure.
Cursor: Tools not loading
Make sure you're in Agent mode (not Ask mode). Check that ~/.cursor/mcp.json has the correct config. Restart Cursor fully.
Devin Desktop (Windsurf): MCP server not found
After adding the config, restart Devin Desktop and manually enable the MCP server in the Cascade panel. This is Devin Desktop's security design — servers must be explicitly enabled.
GitHub Copilot: Not connecting
Make sure you're on VS Code 1.101+. Check that the config uses "servers" (not "mcpServers") and "type": "http". Switch to Agent mode in Copilot Chat.
Mistral: Tools not showing in chat
After adding the connector, make sure you enable it in your chat. Click the Tools button (4 squares icon) below the input box and check that WebsitePublisher is toggled on. If the connector doesn't appear in the directory, try searching for "WebsitePublisher" (one word).
Gemini: "Add custom app" not available
Custom apps are currently limited by Google to personal accounts in the US with Gemini set to English. Work or school accounts go through Gemini Enterprise (admin setup). Everyone else can use the SDK route above.
Grok: Connected, but no tools
Remove the connector and add it again. Make sure the WebsitePublisher sign-in page actually appeared — if Grok shows "connected" without asking you to sign in, the tools will not load.
OAuth: Browser doesn't open
For mcp-remote based setups (Claude Desktop, older Cursor configs): make sure npx works in your terminal. Try running npx -y mcp-remote --help to verify.
Token expired
OAuth tokens refresh automatically for most platforms. For SDK users: get a new session token from the dashboard.
💡 Quick test: Ask your AI "List my WebsitePublisher projects" — if that works, you're connected!
📚 Resources
⬇️ Connect App 🎛️ Dashboard 🤖 Supported AIs 📄 OpenAPI Spec 🔍 Discovery 🐙 GitHub Repo 🔌 MCP Protocol 📖 PAPI Docs 🔗 Integrations