
Wiki.js
STDIOWiki.js分层文档管理MCP服务器
Wiki.js分层文档管理MCP服务器
A comprehensive Model Context Protocol (MCP) server for Wiki.js integration with hierarchical documentation support and Docker deployment. Perfect for organizations managing multiple repositories and large-scale documentation.
First, clone this repository and set up environment variables:
# Copy environment template cp config/example.env .env # Edit .env with your credentials: # - Set POSTGRES_PASSWORD to a secure password # - Update other settings as needed
# Start Wiki.js with Docker docker-compose -f docker.yml up -d
Wiki.js will be available at http://localhost:3000
Complete the initial setup in the web interface
# Install Python dependencies ./setup.sh # Update .env with Wiki.js API credentials: # - Get API key from Wiki.js admin panel # - Set WIKIJS_TOKEN in .env file # Test the connection ./test-server.sh # Start MCP server # (not needed for AI IDEs like Cursor, simply click on the refresh icon after editing mcp.json # and you should see a green dot with all tools listed. In existing open Cursor windows, # this refresh is necessary in order to use this MCP) ./start-server.sh
Add to your ~/.cursor/mcp.json
:
{ "mcpServers": { "wikijs": { "command": "/path/to/wiki-js-mcp/start-server.sh" } } }
Add these Global Rules in Cursor to automatically leverage documentation before coding:
Before writing any code, always:
1. Search existing documentation using wikijs_search_pages to understand current patterns and architecture
2. Check for related components, functions, or modules that might already exist
3. If documentation exists for similar functionality, follow the established patterns and naming conventions
4. If no documentation exists, create it using wikijs_create_page or wikijs_create_nested_page before implementing
5. Always update documentation when making changes using wikijs_sync_file_docs
6. For new features, use wikijs_create_repo_structure to plan the documentation hierarchy first
These rules ensure that your AI assistant will:
# Before starting a new feature
"Search the documentation for authentication patterns before implementing login"
# When creating components
"Create nested documentation under frontend-app/components before building the React component"
# For API development
"Check existing API documentation and create endpoint docs using the established structure"
# During refactoring
"Update all related documentation pages for the files I'm about to modify"
wikijs_create_repo_structure
- Create complete repository documentation structurewikijs_create_nested_page
- Create pages with hierarchical pathswikijs_get_page_children
- Navigate parent-child page relationshipswikijs_create_documentation_hierarchy
- Auto-organize project files into docswikijs_create_page
- Create new pages (now with parent support)wikijs_update_page
- Update existing pageswikijs_get_page
- Retrieve page content and metadatawikijs_search_pages
- Search pages by text (fixed GraphQL issues)wikijs_delete_page
- Delete specific pages by ID or pathwikijs_batch_delete_pages
- Batch delete with pattern matching and safety checkswikijs_delete_hierarchy
- Delete entire page hierarchies with multiple modeswikijs_cleanup_orphaned_mappings
- Clean up orphaned file-to-page mappingswikijs_list_spaces
- List top-level documentation spaceswikijs_create_space
- Create new documentation spaceswikijs_manage_collections
- Manage page collectionswikijs_link_file_to_page
- Link source files to documentation pageswikijs_sync_file_docs
- Sync code changes to documentationwikijs_generate_file_overview
- Auto-generate file documentationwikijs_bulk_update_project_docs
- Batch update multiple pageswikijs_connection_status
- Check API connection healthwikijs_repository_context
- Show repository mappings and contextCompany Documentation/
├── frontend-web-app/
│ ├── Overview/
│ ├── Components/
│ │ ├── Button/
│ │ ├── Modal/
│ │ └── Form/
│ ├── API Integration/
│ └── Deployment/
├── backend-api/
│ ├── Overview/
│ ├── Controllers/
│ ├── Models/
│ └── Database Schema/
├── mobile-app/
│ ├── Overview/
│ ├── Screens/
│ └── Native Components/
└── shared-libraries/
├── UI Components/
├── Utilities/
└── Type Definitions/
The system intelligently categorizes files:
# Create complete repository structure await wikijs_create_repo_structure( "My Frontend App", "Modern React application with TypeScript", ["Overview", "Components", "API", "Testing", "Deployment"] ) # Create nested component documentation await wikijs_create_nested_page( "Button Component", "# Button Component\n\nReusable button with multiple variants...", "my-frontend-app/components" ) # Auto-organize entire project await wikijs_create_documentation_hierarchy( "My Project", [ {"file_path": "src/components/Button.tsx"}, {"file_path": "src/api/users.ts"}, {"file_path": "src/utils/helpers.ts"} ], auto_organize=True )
# Clean up and manage documentation # Preview what would be deleted (safe) preview = await wikijs_delete_hierarchy( "old-project", delete_mode="include_root", confirm_deletion=False ) # Delete entire deprecated project await wikijs_delete_hierarchy( "old-project", delete_mode="include_root", confirm_deletion=True ) # Batch delete test pages await wikijs_batch_delete_pages( path_pattern="*test*", confirm_deletion=True ) # Clean up orphaned file mappings await wikijs_cleanup_orphaned_mappings()
# Docker Database Configuration POSTGRES_DB=wikijs POSTGRES_USER=wikijs POSTGRES_PASSWORD=your_secure_password_here # Wiki.js Connection WIKIJS_API_URL=http://localhost:3000 WIKIJS_API_KEY=your_jwt_token_here # Alternative: Username/Password WIKIJS_USERNAME=your_username WIKIJS_PASSWORD=your_password # Database & Logging WIKIJS_MCP_DB=./wikijs_mappings.db LOG_LEVEL=INFO LOG_FILE=wikijs_mcp.log # Repository Settings REPOSITORY_ROOT=./ DEFAULT_SPACE_NAME=Documentation
wiki-js-mcp/
├── src/
│ └── wiki_mcp_server.py # Main MCP server implementation
├── config/
│ └── example.env # Configuration template
├── docker.yml # Docker Compose setup
├── pyproject.toml # Poetry dependencies
├── requirements.txt # Pip dependencies
├── setup.sh # Environment setup script
├── start-server.sh # MCP server launcher
├── test-server.sh # Interactive testing script
├── HIERARCHICAL_FEATURES.md # Hierarchical documentation guide
├── DELETION_TOOLS.md # Deletion and cleanup guide
├── LICENSE # MIT License
└── README.md # This file
# Check containers docker-compose -f docker.yml ps # View logs docker-compose -f docker.yml logs wiki docker-compose -f docker.yml logs postgres # Reset everything docker-compose -f docker.yml down -v docker-compose -f docker.yml up -d
# Check Wiki.js is running curl http://localhost:3000/graphql # Verify authentication ./test-server.sh # Debug mode export LOG_LEVEL=DEBUG ./start-server.sh
docker.yml
if neededpostgres_data/
and restart./setup.sh
to reinstallgit checkout -b feature/amazing-feature
)git commit -m 'Add amazing feature'
)git push origin feature/amazing-feature
)This project is licensed under the MIT License - see the LICENSE file for details.
Ready to scale your documentation? 🚀 Start with wikijs_create_repo_structure
and build enterprise-grade documentation hierarchies! Use the Cursor global rules to ensure documentation-first development! 📚✨