{"_id":"@empoalp/outline-mcp-server","name":"@empoalp/outline-mcp-server","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@empoalp/outline-mcp-server","version":"1.0.0","description":"Model Context Protocol server for Outline document management","main":"dist/index.js","type":"module","scripts":{"build":"tsc","start":"node dist/index.js","dev":"tsc && node dist/index.js","watch":"tsc --watch","prepublishOnly":"npm run build"},"keywords":["mcp","outline","documents","knowledge-base","model-context-protocol"],"author":"","license":"MIT","repository":{"type":"git","url":"git+https://github.com/empoalp/outline-mcp-server.git"},"publishConfig":{"access":"public"},"dependencies":{"@modelcontextprotocol/sdk":"^0.4.0","axios":"^1.6.0","zod":"^3.22.0"},"devDependencies":{"@types/node":"^20.0.0","typescript":"^5.0.0"},"bin":{"outline-mcp-server":"dist/index.js"},"_id":"@empoalp/outline-mcp-server@1.0.0","gitHead":"2fcfec8e2492f9d34f8bbfadc982ad4b150790f0","types":"./dist/index.d.ts","bugs":{"url":"https://github.com/empoalp/outline-mcp-server/issues"},"homepage":"https://github.com/empoalp/outline-mcp-server#readme","_nodeVersion":"20.19.4","_npmVersion":"10.8.2","dist":{"integrity":"sha512-ZahEPQk2/PdME/LR20NYTvYoSOKd0U79Y+D5IDuFCgLqNHrQSPBVRtnKPdrt+q9zHSFB8Ii+jSw27q9c7BGLqQ==","shasum":"262c0334c6738535f274431c196eb495cf62dcb9","tarball":"https://registry.npmjs.org/@empoalp/outline-mcp-server/-/outline-mcp-server-1.0.0.tgz","fileCount":8,"unpackedSize":41383,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCQVrunIfpgTRNrQ4dhD0mXMvKAr+OaZ/ufA0BmltluIQIgSMIwsK7QmtenHFNFQLJYfgnfyenIODGo39IBWEftNFo="}]},"_npmUser":{"name":"empoalp","email":"empoalp@gmail.com"},"directories":{},"maintainers":[{"name":"empoalp","email":"empoalp@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/outline-mcp-server_1.0.0_1772616399060_0.4057670628364589"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-04T09:26:38.932Z","1.0.0":"2026-03-04T09:26:39.208Z","modified":"2026-03-04T09:26:39.439Z"},"maintainers":[{"name":"empoalp","email":"empoalp@gmail.com"}],"description":"Model Context Protocol server for Outline document management","homepage":"https://github.com/empoalp/outline-mcp-server#readme","keywords":["mcp","outline","documents","knowledge-base","model-context-protocol"],"repository":{"type":"git","url":"git+https://github.com/empoalp/outline-mcp-server.git"},"bugs":{"url":"https://github.com/empoalp/outline-mcp-server/issues"},"license":"MIT","readme":"# Outline MCP Server\n\nA Model Context Protocol (MCP) server for [Outline](https://www.getoutline.com/) that enables reading and writing documents through the Outline API.\n\n## Features\n\n- **Read Documents**: Get individual documents, search, and list documents\n- **Write Documents**: Create, update, and delete documents\n- **Collection Management**: List and retrieve collection information\n- **Full Text Search**: Search across all documents in your Outline instance\n- **Markdown Support**: Create and edit documents with full Markdown formatting\n\n## Installation\n\n1. Clone or download this repository\n2. Install dependencies:\n   ```bash\n   npm install\n   ```\n3. Build the project:\n   ```bash\n   npm run build\n   ```\n\n## Configuration\n\nBefore using the server, you need to set up your Outline API credentials:\n\n1. **Get your Outline API token**:\n\n   - Log into your Outline instance (e.g., https://app.getoutline.com)\n   - Go to Settings → API Tokens\n   - Create a new token\n\n2. **Set environment variables**:\n   ```bash\n   export OUTLINE_BASE_URL=\"https://your-outline-instance.com\"\n   export OUTLINE_API_KEY=\"your-api-token-here\"\n   ```\n\n## Usage\n\n### Running the Server\n\nStart the MCP server:\n\n```bash\nnpm start\n```\n\nThe server communicates via stdio and is compatible with any MCP client.\n\n### Available Tools\n\n#### Document Operations\n\n1. **outline_get_document**\n\n   - Get a specific document by ID\n   - Parameters: `id` (string, required)\n\n2. **outline_search_documents**\n\n   - Search for documents across your Outline instance\n   - Parameters: `query` (string, required), `limit` (number, optional, default: 25)\n\n3. **outline_list_documents**\n\n   - List documents, optionally filtered by collection\n   - Parameters: `collectionId` (string, optional), `limit` (number, optional, default: 25)\n\n4. **outline_create_document**\n\n   - Create a new document\n   - Parameters:\n     - `title` (string, required)\n     - `text` (string, required) - Markdown content\n     - `collectionId` (string, optional)\n     - `parentDocumentId` (string, optional)\n     - `publish` (boolean, optional, default: false)\n\n5. **outline_update_document**\n\n   - Update an existing document\n   - Parameters:\n     - `id` (string, required)\n     - `title` (string, optional)\n     - `text` (string, optional) - Markdown content\n     - `publish` (boolean, optional)\n\n6. **outline_delete_document**\n   - Delete a document\n   - Parameters: `id` (string, required)\n\n#### Collection Operations\n\n7. **outline_list_collections**\n\n   - List all collections in your Outline instance\n   - Parameters: none\n\n8. **outline_get_collection**\n   - Get information about a specific collection\n   - Parameters: `id` (string, required)\n\n### Example Usage\n\nHere are some example tool calls:\n\n```json\n{\n  \"name\": \"outline_search_documents\",\n  \"arguments\": {\n    \"query\": \"project documentation\",\n    \"limit\": 10\n  }\n}\n```\n\n```json\n{\n  \"name\": \"outline_create_document\",\n  \"arguments\": {\n    \"title\": \"New Project Plan\",\n    \"text\": \"# Project Overview\\n\\nThis document outlines...\",\n    \"collectionId\": \"collection-id-here\",\n    \"publish\": true\n  }\n}\n```\n\n```json\n{\n  \"name\": \"outline_update_document\",\n  \"arguments\": {\n    \"id\": \"document-id-here\",\n    \"title\": \"Updated Project Plan\",\n    \"text\": \"# Updated Project Overview\\n\\nThis document has been updated...\"\n  }\n}\n```\n\n## Development\n\n### Project Structure\n\n```\nsrc/\n├── index.ts           # Main MCP server implementation\n├── outline-client.ts  # Outline API client\n```\n\n### Scripts\n\n- `npm run build` - Compile TypeScript to JavaScript\n- `npm run dev` - Build and run the server\n- `npm run watch` - Watch for changes and rebuild\n- `npm start` - Run the compiled server\n\n### Building\n\n```bash\nnpm run build\n```\n\nThe compiled JavaScript will be output to the `dist/` directory.\n\n## Configuration with MCP Clients\n\nTo use this server with an MCP client, you'll need to configure it to run this server. The exact configuration depends on your client, but generally you'll need to:\n\n1. Specify the command to run: `node /path/to/outline-mcp-server/dist/index.js`\n2. Set the environment variables for your Outline instance\n3. Configure the client to use stdio transport\n\n### Client Configuration Examples\n\n#### Claude\n\nFor clients like Claude that use a JSON configuration file, you can add the following to your `mcp-servers.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"outline\": {\n      \"command\": \"node\",\n      \"args\": [\"/path/to/your/projects/outline-mcp-server/dist/index.js\"],\n      \"env\": {\n        \"OUTLINE_API_KEY\": \"your-secret-api-token\",\n        \"OUTLINE_BASE_URL\": \"https://your-outline-instance.com\"\n      }\n    }\n  }\n}\n```\n\nMake sure to replace the `args` path with the absolute path to the `index.js` file in your project, and fill in your actual credentials in the `env` block.\n\n#### Cursor\n\nFor clients like Cursor, you can typically set environment variables directly within the client's settings or by launching the client from a terminal where you have already exported the variables.\n\n```bash\nexport OUTLINE_BASE_URL=\"https://your-outline-instance.com\"\nexport OUTLINE_API_KEY=\"your-secret-api-token\"\n\n# Then launch Cursor from this terminal\n/path/to/Cursor.app/Contents/MacOS/Cursor\n```\n\n## API Rate Limits\n\nBe aware that Outline may have API rate limits. The server doesn't implement rate limiting internally, so you may need to handle this at the client level if you're making many requests.\n\n## Error Handling\n\nThe server includes comprehensive error handling and will return descriptive error messages for common issues like:\n\n- Missing or invalid API credentials\n- Network connectivity problems\n- Invalid document IDs\n- API rate limit errors\n\n## Security Notes\n\n- Store your API token securely using environment variables\n- Never commit your API token to version control\n- Consider using restricted API tokens with minimal required permissions\n- Be cautious when allowing others to use your MCP server as it has full access to your Outline instance\n\n## License\n\nMIT License - see LICENSE file for details.\n\n## Contributing\n\nContributions are welcome! Please feel free to submit issues and pull requests.\n","readmeFilename":"README.md","_rev":"1-1da853e0890f7c5f607295aa67c7e100"}