Generated content to Google Docs to WordPress while preserving formatting and structure for a streamlined content workflow.
Docswrite created the first in the world MCP to write to Google Docs and turn the google docs into a perfectly formatted post on WordPress.
This server provides tools for working with Google Docs, Google Drive, and WordPress through Docswrite.
google-docs-create
Creates a new Google Docs document.
title
: The title of the new documentcontent
: The content to write to the documentgoogle-docs-update
Updates an existing Google Docs document.
documentId
: The ID of the document to updatecontent
: The content to write to the documentreplaceAll
(optional): Whether to replace all content (true) or append (false)google-docs-search
Searches for Google Docs documents using Google Drive API.
query
: The search query to find documentsgoogle-docs-delete
Deletes a Google Docs document using Google Drive API.
documentId
: The ID of the document to deletedocswrite-publish
Publishes content from Google Docs to WordPress.
google_docs_url
(required): URL of the Google Docs documenttitle
(optional): Title of the blog postslug
(optional): URL slug for the posttags
(optional): Comma-separated list of tagscategories
(optional): Comma-separated list of categoriesstate
(optional): Post state (draft/publish)author
(optional): Author namedate
(optional): Publication dateexcerpt
(optional): Post excerptpost_type
(optional): Post type (post/page)featured_image_url
(optional): URL of the featured imagefeatured_image_alt_text
(optional): Alt text for featured imagefeatured_image_caption
(optional): Caption for featured imageexport_settings
(optional): Object containing:
compress_images
: Booleandemote_headings
: Booleanconvert_to_webp
: Booleanfirst_image_as_featured_image
: Booleanadd_no_follow_to_external_links
: Booleanbold_as_strong
: Booleanwp_content_editor
: Stringnewspack_settings
(optional): Object containing:
newspack_article_summary
: Stringnewspack_article_summary_title
: Stringnewspack_post_subtitle
: Stringyoast_settings
(optional): Object containing:
yoast_focuskw
: Stringyoast_metadesc
: Stringyoast_title
: Stringrankmath_settings
(optional): Object containing:
rank_math_focus_keyword
: Stringdocswrite-job-status
Checks the status of a Docswrite publishing job.
jobId
: The ID of the job to checkqueueType
(optional): The type of queue (default: "post")src/index.ts
: Main server implementation and tool definitions
src/auth.ts
: Google OAuth2 authentication handling
src/google-docs.ts
: Google Docs and Drive API operations
src/docswrite-request.ts
: Docswrite API integration
src/oauth-server.ts
: OAuth callback server implementation
src/config.ts
: Configuration management
src/utils.ts
: Utility functions
Create a Google Cloud Project and enable:
Configure OAuth2 credentials:
credentials.json
in project roothttp://localhost:3000/oauth2callback
Install dependencies:
npm install
npm run build
Run the server with your Docswrite token:
node dist/index.js --docswriteToken=your-docswrite-token
// 1. Create a new Google Doc { "title": "My New Post", "content": "This is the content of my post." } // 2. Publish to WordPress { "google_docs_url": "https://docs.google.com/document/d/your-doc-id/edit", "title": "My New Post", "state": "draft" } // 3. Check publishing status { "jobId": "your-job-id" }
// 1. Search for documents { "query": "WordPress" } // 2. Update a document { "documentId": "your-doc-id", "content": "Updated content", "replaceAll": true }
// 1. Create document { "title": "Draft Post", "content": "Initial draft" } // 2. Update content { "documentId": "your-doc-id", "content": "Additional content", "replaceAll": false } // 3. Publish to WordPress { "google_docs_url": "https://docs.google.com/document/d/your-doc-id/edit", "title": "Final Post", "state": "publish", "categories": "tutorials", "tags": "wordpress, google-docs" }
Discover shared experiences
Shared threads will appear here, showcasing real-world applications and insights from the community. Check back soon for updates!