{"_id":"@cahaseler/wikijs-mcp","_rev":"3-eb9f01092905a144a989383b83fc0983","name":"@cahaseler/wikijs-mcp","dist-tags":{"latest":"1.0.5"},"versions":{"1.0.1":{"name":"@cahaseler/wikijs-mcp","version":"1.0.1","keywords":["mcp","wikijs","model-context-protocol","ai","assistant"],"author":{"name":"Ricardo Cenci Fabris"},"license":"MIT","_id":"@cahaseler/wikijs-mcp@1.0.1","maintainers":[{"name":"cahaseler","email":"cahaseler@gmail.com"}],"homepage":"https://github.com/cahaseler/wikijs-mcp#readme","bugs":{"url":"https://github.com/cahaseler/wikijs-mcp/issues"},"bin":{"wikijs-mcp":"build/index.js"},"dist":{"shasum":"005fcc5ea488162be63fcc941e68e7bcea4e2e6a","tarball":"https://registry.npmjs.org/@cahaseler/wikijs-mcp/-/wikijs-mcp-1.0.1.tgz","fileCount":42,"integrity":"sha512-m66oFZ3u4jUYtKvY5/bqy+HNyjRpDispcPIfFU+Aj9CoJ+qlN6AN6PI8nCBdE1JRPPkmjDS426dYi2i8nWWDKg==","signatures":[{"sig":"MEUCIQCgYX7KTI2UeUcYJxf6lSYWE3GhuJteX9aZmWeYE1d6ZAIgTDOyzIQDRcKCmCJARsk4+8dOSwmzLR2qDqZItQjsv5Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":118002},"main":"build/index.js","type":"module","types":"./build/index.d.ts","gitHead":"6daaa766f5b11d10e7aa753cebea0f00bdfc1000","scripts":{"lint":"eslint src --ext .ts","test":"NODE_OPTIONS='--experimental-vm-modules' jest","build":"tsc && chmod 755 build/index.js","codegen":"dotenv -- graphql-codegen --config codegen.yml","lint:fix":"eslint src --ext .ts --fix","test:watch":"NODE_OPTIONS='--experimental-vm-modules' jest --watch","test:coverage":"NODE_OPTIONS='--experimental-vm-modules' jest --coverage","prepublishOnly":"npm run lint && npm run test && npm run build"},"_npmUser":{"name":"cahaseler","email":"cahaseler@gmail.com"},"repository":{"url":"git+https://github.com/cahaseler/wikijs-mcp.git","type":"git"},"_npmVersion":"11.2.0","description":"WikiJS MCP Server","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.25.64","dotenv":"^16.3.1","graphql":"^16.11.0","graphql-tag":"^2.12.6","graphql-request":"^7.2.0","@modelcontextprotocol/sdk":"^1.12.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.57.0","ts-jest":"^29.1.0","typescript":"^5.8.3","@types/jest":"^29.5.0","@types/node":"^24.0.1","@graphql-codegen/cli":"^5.0.7","@typescript-eslint/parser":"^8.0.0","@graphql-codegen/typescript":"^4.1.6","@typescript-eslint/eslint-plugin":"^8.0.0","@graphql-codegen/typescript-operations":"^4.6.1","@graphql-codegen/typescript-graphql-request":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/wikijs-mcp_1.0.1_1753388655136_0.5438100729462236","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@cahaseler/wikijs-mcp","version":"1.0.4","keywords":["mcp","wikijs","model-context-protocol","ai","assistant"],"author":{"name":"Ricardo Cenci Fabris"},"license":"MIT","_id":"@cahaseler/wikijs-mcp@1.0.4","maintainers":[{"name":"cahaseler","email":"cahaseler@gmail.com"}],"homepage":"https://github.com/cahaseler/wikijs-mcp#readme","bugs":{"url":"https://github.com/cahaseler/wikijs-mcp/issues"},"bin":{"cahaseler-wikijs-mcp":"build/index.js"},"dist":{"shasum":"08e202c6943df4f123a24f22fce0f292bcc19eb1","tarball":"https://registry.npmjs.org/@cahaseler/wikijs-mcp/-/wikijs-mcp-1.0.4.tgz","fileCount":42,"integrity":"sha512-8ASX8AWQYaC7VSPFvcYzpp32sORl8yszLfTV7wMYiwzISAu8ZuymvXPirslaNPpNGqHUN8p6PbYFLBH00iGfxQ==","signatures":[{"sig":"MEQCIBkY0wz258ip75nUrEqZtwe5TqvJGpfUOOjZPRUuZEroAiBOEYcjl3kecY0wAYJ3JVkXRn1OTqP4lJ8+w/3VmArwCQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":118012},"main":"build/index.js","type":"module","types":"./build/index.d.ts","gitHead":"88748c3fc5ef6ecf76e28bed8d6ce01b3614a8ef","scripts":{"lint":"eslint src --ext .ts","test":"NODE_OPTIONS='--experimental-vm-modules' jest","build":"tsc && chmod 755 build/index.js","codegen":"dotenv -- graphql-codegen --config codegen.yml","lint:fix":"eslint src --ext .ts --fix","test:watch":"NODE_OPTIONS='--experimental-vm-modules' jest --watch","test:coverage":"NODE_OPTIONS='--experimental-vm-modules' jest --coverage","prepublishOnly":"npm run lint && npm run test && npm run build"},"_npmUser":{"name":"cahaseler","email":"cahaseler@gmail.com"},"repository":{"url":"git+https://github.com/cahaseler/wikijs-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"WikiJS MCP Server","directories":{},"_nodeVersion":"20.19.4","dependencies":{"zod":"^3.25.64","dotenv":"^16.3.1","graphql":"^16.11.0","graphql-tag":"^2.12.6","graphql-request":"^7.2.0","@modelcontextprotocol/sdk":"^1.12.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.57.0","ts-jest":"^29.1.0","typescript":"^5.8.3","@types/jest":"^29.5.0","@types/node":"^24.0.1","@graphql-codegen/cli":"^5.0.7","@typescript-eslint/parser":"^8.0.0","@graphql-codegen/typescript":"^4.1.6","@typescript-eslint/eslint-plugin":"^8.0.0","@graphql-codegen/typescript-operations":"^4.6.1","@graphql-codegen/typescript-graphql-request":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/wikijs-mcp_1.0.4_1753390444378_0.12870739745360038","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@cahaseler/wikijs-mcp","version":"1.0.5","description":"WikiJS MCP Server","main":"build/index.js","type":"module","author":{"name":"Ricardo Cenci Fabris"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/cahaseler/wikijs-mcp.git"},"bugs":{"url":"https://github.com/cahaseler/wikijs-mcp/issues"},"homepage":"https://github.com/cahaseler/wikijs-mcp#readme","keywords":["mcp","wikijs","model-context-protocol","ai","assistant"],"bin":{"wikijs-mcp-edit":"build/index.js"},"scripts":{"build":"tsc && chmod 755 build/index.js","codegen":"dotenv -- graphql-codegen --config codegen.yml","lint":"eslint src --ext .ts","lint:fix":"eslint src --ext .ts --fix","test":"NODE_OPTIONS='--experimental-vm-modules' jest","test:watch":"NODE_OPTIONS='--experimental-vm-modules' jest --watch","test:coverage":"NODE_OPTIONS='--experimental-vm-modules' jest --coverage","prepublishOnly":"npm run lint && npm run test && npm run build"},"dependencies":{"@modelcontextprotocol/sdk":"^1.12.3","zod":"^3.25.64","dotenv":"^16.3.1","graphql":"^16.11.0","graphql-request":"^7.2.0","graphql-tag":"^2.12.6"},"devDependencies":{"@graphql-codegen/cli":"^5.0.7","@graphql-codegen/typescript":"^4.1.6","@graphql-codegen/typescript-graphql-request":"^6.3.0","@graphql-codegen/typescript-operations":"^4.6.1","@types/jest":"^29.5.0","@types/node":"^24.0.1","@typescript-eslint/eslint-plugin":"^8.0.0","@typescript-eslint/parser":"^8.0.0","eslint":"^8.57.0","jest":"^29.5.0","ts-jest":"^29.1.0","typescript":"^5.8.3"},"_id":"@cahaseler/wikijs-mcp@1.0.5","gitHead":"44cfd179f0a90e01a805d945873149f8da1f5b8e","types":"./build/index.d.ts","_nodeVersion":"20.19.4","_npmVersion":"10.8.2","dist":{"integrity":"sha512-22r4Vg9XokQ5zzQptxlqkpfB7FDcHYcqrVntlxgh3xBiBV3cvJGXQ5TtDk/VQXWj40PQtt57PhhSVyGwp9kQog==","shasum":"317fefecdb807a2270dc3300ca3babdaf05e9f70","tarball":"https://registry.npmjs.org/@cahaseler/wikijs-mcp/-/wikijs-mcp-1.0.5.tgz","fileCount":42,"unpackedSize":118063,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIBYE9pQ7og82+/ZadWdd0gMOgNW1DZ9hSGRPZl3am6hyAiBCVfdRkH4a+2VSbkNwN2V7PY0xDFB/z4DCNY08SlSHmQ=="}]},"_npmUser":{"name":"cahaseler","email":"cahaseler@gmail.com"},"directories":{},"maintainers":[{"name":"cahaseler","email":"cahaseler@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/wikijs-mcp_1.0.5_1753391299850_0.8888330209897304"},"_hasShrinkwrap":false}},"time":{"created":"2025-07-24T20:24:15.018Z","modified":"2025-07-24T21:08:20.205Z","1.0.1":"2025-07-24T20:24:15.310Z","1.0.4":"2025-07-24T20:54:04.554Z","1.0.5":"2025-07-24T21:08:20.034Z"},"bugs":{"url":"https://github.com/cahaseler/wikijs-mcp/issues"},"author":{"name":"Ricardo Cenci Fabris"},"license":"MIT","homepage":"https://github.com/cahaseler/wikijs-mcp#readme","keywords":["mcp","wikijs","model-context-protocol","ai","assistant"],"repository":{"type":"git","url":"git+https://github.com/cahaseler/wikijs-mcp.git"},"description":"WikiJS MCP Server","maintainers":[{"name":"cahaseler","email":"cahaseler@gmail.com"}],"readme":"# WikiJS MCP Server\n\nA Model Context Protocol (MCP) server that provides integration with WikiJS, allowing AI assistants to search and retrieve content from your WikiJS knowledge base.\n\n## Overview\n\nThis MCP server enables AI assistants to interact with WikiJS instances by providing tools to:\n- Search for pages by query string\n- Retrieve pages by ID\n- Retrieve pages by path and locale\n- Get all pages from the wiki\n- Edit pages (when enabled)\n\n## Installation\n\n### Using npx (recommended)\n```bash\nnpx @cahaseler/wikijs-mcp\n```\n\nThe binary will be available as `wikijs-mcp-edit` to avoid conflicts with the original package.\n\n### From source\n```bash\ngit clone https://github.com/cahaseler/wikijs-mcp.git\ncd wikijs-mcp\nnpm install\nnpm run build\n```\n\n## Configuration\n\n### Claude Code\n\n#### Method 1: Using the CLI (Recommended)\n```bash\n# Add as a user-scoped server (available across all projects)\nclaude mcp add wikijs \\\n  -e WIKIJS_URL=https://your-wiki.example.com \\\n  -e WIKIJS_API_KEY=your-api-key \\\n  -- wikijs-mcp-edit\n\n# Or with edit functionality enabled\nclaude mcp add wikijs \\\n  -e WIKIJS_URL=https://your-wiki.example.com \\\n  -e WIKIJS_API_KEY=your-api-key \\\n  -e WIKIJS_ENABLE_EDIT=true \\\n  -- wikijs-mcp-edit\n```\n\n#### Method 2: Project-scoped configuration\nCreate a `.mcp.json` file in your project root:\n```json\n{\n  \"mcpServers\": {\n    \"wikijs\": {\n      \"command\": \"npx\",\n      \"args\": [\"wikijs-mcp-edit\"],\n      \"env\": {\n        \"WIKIJS_URL\": \"https://your-wiki.example.com\",\n        \"WIKIJS_API_KEY\": \"your-api-key\",\n        \"WIKIJS_ENABLE_EDIT\": \"false\"\n      }\n    }\n  }\n}\n```\n\n### Cursor\nAdd to your Cursor settings (`.cursor/settings.json`):\n```json\n{\n  \"mcpServers\": {\n    \"wikijs-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\"wikijs-mcp-edit\"],\n      \"env\": {\n        \"WIKIJS_URL\": \"https://your-wiki.example.com\",\n        \"WIKIJS_API_KEY\": \"your-api-key\",\n        \"WIKIJS_ENABLE_EDIT\": \"false\"\n      }\n    }\n  }\n}\n```\n\n### Claude Desktop\nAdd to your Claude Desktop configuration:\n- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`\n- Windows: `%APPDATA%\\Claude\\claude_desktop_config.json`\n- Linux: `~/.config/Claude/claude_desktop_config.json`\n\n```json\n{\n  \"mcpServers\": {\n    \"wikijs-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\"wikijs-mcp-edit\"],\n      \"env\": {\n        \"WIKIJS_URL\": \"https://your-wiki.example.com\",\n        \"WIKIJS_API_KEY\": \"your-api-key\",\n        \"WIKIJS_ENABLE_EDIT\": \"false\"\n      }\n    }\n  }\n}\n```\n\n## Getting a WikiJS API Key\n\n1. Log into your WikiJS instance as an administrator\n2. Go to **Administration** > **API Access**\n3. Enable the API if not already enabled\n4. Click **New API Key**\n5. Give it a name (e.g., \"MCP Server\")\n6. Select **Full Access** or configure specific permissions\n7. Set an appropriate expiration date\n8. Copy the generated key immediately (it won't be shown again)\n\n## Environment Variables\n\n| Variable | Description | Required | Default |\n|----------|-------------|----------|---------|\n| `WIKIJS_URL` | URL of your WikiJS instance | Yes | - |\n| `WIKIJS_API_KEY` | WikiJS API key | Yes | - |\n| `WIKIJS_ENABLE_EDIT` | Enable page editing functionality | No | false |\n\n## Available Tools\n\nOnce configured, the following tools will be available:\n\n- **search_pages** - Search for pages by query string\n  - Parameters: `query` (required), `path` (optional), `locale` (optional)\n  \n- **get_page_by_id** - Retrieve a specific page by its ID\n  - Parameters: `id` (required)\n  \n- **get_page_by_path** - Retrieve a page by its path and locale\n  - Parameters: `path` (required), `locale` (required)\n  \n- **get_all_pages** - List all pages with optional filters\n  - Parameters: `limit` (optional), `locale` (optional), `tags` (optional)\n  \n- **create_page** - Create a new WikiJS page (only when `WIKIJS_ENABLE_EDIT=true`)\n  - Parameters: `title` (required), `content` (required), `description` (required), `path` (required), `editor` (optional), `isPublished` (optional), `isPrivate` (optional), `locale` (optional), `tags` (optional)\n  \n- **edit_page** - Edit a WikiJS page (only when `WIKIJS_ENABLE_EDIT=true`)\n  - Parameters: `id` (required), `title`, `content`, `description`, `editor`, `isPublished`, `isPrivate`, `locale`, `tags`, `path`\n\n## Development\n\n### Prerequisites\n- Node.js 18+\n- Docker (for local WikiJS testing)\n- npm or yarn\n\n### Setup\n\n1. Clone the repository:\n```bash\ngit clone https://github.com/cahaseler/wikijs-mcp.git\ncd wikijs-mcp\n```\n\n2. Install dependencies:\n```bash\nnpm install\n```\n\n3. Copy the environment template:\n```bash\ncp env.example .env\n```\n\n4. Edit `.env` with your WikiJS credentials\n\n### Local WikiJS Instance\n\nTo run a local WikiJS instance for testing:\n\n```bash\n# Start WikiJS and PostgreSQL\ndocker-compose up -d\n\n# The instance will be available at http://localhost:3000\n# Follow the setup wizard to create an admin account\n```\n\n### Building\n\n```bash\n# Using npm\nnpm run build\n\n# Using make\nmake build\n```\n\n### Testing the MCP Server\n\n```bash\n# Run the built server\nnode build/index.js\n\n# Or use the make command\nmake run\n```\n\n## Security Considerations\n\n- **API Key Storage**: Never commit your API key to version control\n- **Edit Permissions**: The edit functionality is disabled by default. Only enable it if you trust the environment where the MCP server is running\n- **Scope Permissions**: When creating the WikiJS API key, consider using the minimum required permissions instead of full access\n\n## Troubleshooting\n\n### \"WIKIJS_URL and WIKIJS_API_KEY must be set\"\nEnsure your environment variables are properly configured. Check your `.env` file or the environment variables in your MCP client configuration.\n\n### \"Failed to update page: Unauthorized\"\nYour API key may be expired or lack the necessary permissions. Create a new API key with appropriate permissions.\n\n### GraphQL errors during development\nIf you modify the GraphQL queries, regenerate the types:\n```bash\nnpm run codegen\n```\n\n## Contributing\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add some amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.","readmeFilename":"README.md"}