Docs MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Docs MCP Serverlist documents in the 'Reports' folder"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Docs MCP Server
๐ MCP Server for Docs
Complete API integration with 31 tools including document content editing via Yjs
๐ Documentation โข ๐ Installation โข ๐ ๏ธ Usage โข ๐ค Contributing โข ๐ Changelog
The Docs MCP Server provides seamless integration between Claude and Docs instances through the Model Context Protocol (MCP). It enables Claude to interact with collaborative documents, manage access permissions, and leverage AI-powered features directly within the Docs ecosystem.
โจ Key Features
๐ Complete Document Management
๐ Create, read, update, and delete documents
๐ณ Navigate hierarchical document structures
โ๏ธ Move and reorganize documents in trees
๐ Duplicate documents with or without permissions
โญ Manage favorites and restore from trashbin
โ๏ธ Document Content Editing (NEW in v0.2.0)
๐ Read document content as plain text
โ๏ธ Update documents with text or markdown
๐ Apply AI transformations directly to documents
๐ Translate document content automatically
๐ง Yjs (CRDT) format support for collaborative editing
๐ฅ Advanced Access Control
๐ Grant and revoke user permissions (reader, editor, administrator, owner)
๐ง Send email invitations to external users
๐ Search for users across the platform
๐ฎ Manage pending invitations
๐ค AI-Powered Features
โ๏ธ Text correction and grammar checking
๐ Content rephrasing and summarization
๐ Multi-language translation support
โก Custom AI transformations
๐ Version History
๐ Browse document version history
๐ Retrieve specific version content
๐ Track changes over time
๐ MCP Integration
31 Tools: Comprehensive set of operations including content editing
4 Resources: Real-time data access
Type Safety: Full TypeScript-style type hints
Error Handling: Robust error management
Yjs Support: Native collaborative document format
๐ Installation
From PyPI (Recommended)
pip install docs-mcp-serverFrom Source (Development)
git clone https://github.com/nic01asFr/docs-mcp-server.git
cd docs-mcp-server
pip install -e \".[dev]\"โ๏ธ Configuration
Environment Variables
export DOCS_BASE_URL=\"https://your-docs-instance.com\"
export DOCS_API_TOKEN=\"your-api-token\"
export DOCS_TIMEOUT=30 # Optional: request timeout in seconds
export DOCS_MAX_RETRIES=3 # Optional: maximum retry attemptsVerify Configuration
docs-mcp-server --config-checkOutput:
โ Configuration loaded successfully
Base URL: https://docs.example.com
Token: ****-token-****-1234
Timeout: 30s
Max retries: 3
โ API connection successful
Authenticated as: user@example.com
User ID: user-123๐ ๏ธ Usage
Command Line
# Start with environment variables
docs-mcp-server
# Start with explicit configuration
docs-mcp-server --base-url https://docs.example.com --token your-token
# Start with custom server name
docs-mcp-server --name my-docs-server
# Start with verbose logging
docs-mcp-server --verbosePython Module
python -m docs_mcp_serverProgrammatic Usage
import asyncio
from docs_mcp_server import DocsServer
async def main():
server = DocsServer(
base_url=\"https://docs.example.com\",
token=\"your-token\",
server_name=\"my-docs-server\"
)
await server.run()
if __name__ == \"__main__\":
asyncio.run(main())๐ Available Tools
Tool | Description |
| List documents with filtering and pagination |
| Retrieve a specific document by ID |
| Create new documents (root or child) |
| Update document title and content |
| Soft delete documents |
| Restore deleted documents |
Tool | Description |
| Read document content as plain text |
| Update document with text or markdown |
| Apply AI transformation and save to document |
| Translate and save document content |
Tool | Description |
| Move documents in tree structure |
| Create document copies |
| Get immediate child documents |
| Get complete tree structure |
Tool | Description |
| List document permissions |
| Grant user access to documents |
| Modify existing permissions |
| Remove user access |
| Send email invitations |
| List pending invitations |
| Cancel invitations |
Tool | Description |
| Search users by email |
| Get current user information |
| Add documents to favorites |
| Remove from favorites |
| List favorite documents |
| List deleted documents |
| List document version history |
| Get specific version content |
Tool | Description |
| AI text transformation (correct, rephrase, summarize) |
| AI translation services |
๐ Resources
Resource | Description |
| All accessible documents |
| User's favorite documents |
| Soft-deleted documents |
| Current user information |
๐ก Examples
Basic Document Operations
from docs_mcp_server import create_client
async def example():
async with create_client() as client:
# Create a document
doc = await client.create_document(
title=\"Project Proposal\",
content=\"# Project Overview\\n\\nThis is our new project...\"
)
# Grant access to a colleague
await client.grant_access(
document_id=doc.id,
user_email=\"colleague@example.com\",
role=\"editor\"
)
# Use AI to improve content
improved = await client.ai_transform(
document_id=doc.id,
text=\"This text needs improvement\",
action=\"rephrase\"
)
print(f\"Improved text: {improved.result}\")MCP Server Integration
import asyncio
from docs_mcp_server import DocsServer
async def main():
server = DocsServer(
base_url=\"https://docs.example.com\",
token=\"your-token\",
server_name=\"company-docs\"
)
await server.run()
asyncio.run(main())Error Handling
from docs_mcp_server import DocsAPIClient, DocsError, DocsNotFoundError
async def robust_example():
try:
async with DocsAPIClient() as client:
doc = await client.get_document(\"non-existent-id\")
except DocsNotFoundError:
print(\"Document not found\")
except DocsError as e:
print(f\"API error: {e.message}\")
except Exception as e:
print(f\"Unexpected error: {e}\")๐งช Development
Setup Development Environment
git clone https://github.com/nic01asFr/docs-mcp-server.git
cd docs-mcp-server
pip install -e \".[dev]\"
pre-commit installRun Tests
# Run all tests
pytest
# Run with coverage
pytest --cov=docs_mcp_server --cov-report=html
# Run specific test file
pytest tests/test_client.py -vCode Quality
# Linting and formatting
ruff check src/ tests/
ruff format src/ tests/
# Type checking
mypy src/docs_mcp_server
# Security scanning
bandit -r src/
safety checkDocumentation
# Serve documentation locally
mkdocs serve
# Build documentation
mkdocs build๐ญ Production Ready
โ Quality Assurance
๐งช Comprehensive test suite with >95% coverage
๐ Type safety with mypy and pydantic
๐งน Code quality with ruff and pre-commit hooks
๐ก๏ธ Security scanning with bandit and safety
๐ Performance monitoring and optimization
๐ Security
๐ Secure API token management
๐ HTTPS-only communication
โ Input validation and sanitization
๐พ No sensitive data storage
๐ Comprehensive security documentation
๐ CI/CD
๐ Automated testing on multiple Python versions (3.10-3.12)
๐ฆ Automated PyPI publishing on releases
๐ Security vulnerability scanning
๐ Performance regression testing
๐ Documentation
๐ Comprehensive API documentation
๐ก Usage examples and tutorials
๐ค Contribution guidelines
๐ Security policy
๐ Detailed changelog
๐ Links
๐ฆ PyPI Package
๐ Documentation
๐ GitHub Repository
๐ Issue Tracker
๐ฌ Discussions
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ค Contributing
We welcome contributions! Please see our Contributing Guidelines for details.
Contributors
<a href="https://github.com/nic01asFr/docs-mcp-server/graphs/contributors\"> <img src="https://contrib.rocks/image?repo=nic01asFr/docs-mcp-server\" />
๐ Acknowledgments
Model Context Protocol for the MCP specification
La Suite Numรฉrique and the DINUM team for creating the Docs platform
All contributors and users of this project
Made with โค๏ธ by nic01asFr
Enabling seamless AI integration with collaborative documentation
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/nic01asFr/docs-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server