slite-mcp
Click on "Deploy 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., "@slite-mcpsearch for project roadmap notes"
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.
⚠️ DEPRECATED — Use the Official Slite MCP Instead
This project is no longer maintained.
Slite now provides an official MCP server with native support for all block types including mermaid diagrams, tables, callouts, and more.
To migrate, update your MCP config:
{ "mcpServers": { "slite-official": { "type": "http", "url": "https://api.slite.com/mcp", "headers": { "Authorization": "Bearer YOUR_SLITE_API_KEY" } } } }Key improvements in the official MCP over this repo:
✅ Mermaid/diagram blocks work correctly
✅ Block-level editing via
modify-block(no more full-document rewrites)✅ Callouts, tables, collapsibles, and all native Slite blocks
✅ Maintained by Slite directly
Slite MCP Server (Deprecated)
A Model Context Protocol (MCP) server that integrates with Slite's API to search, retrieve, create, and edit notes.
Features
🔍 Search Notes: Search through your Slite workspace
📄 Get Note Content: Retrieve specific notes by ID in markdown or HTML format
🌳 Browse Hierarchy: Get child notes of any parent note
🤖 Ask Questions: Natural language question answering across your workspace
✏️ Edit Notes: Search-and-replace editing with validation and dry-run support
📝 Create Notes: Create new notes with markdown content
🔄 Update Notes: Full content replacement for major rewrites
Related MCP server: joplin-mcp
Installation
# Clone the repository
git clone https://github.com/fajarmf/slite-mcp.git
cd slite-mcp
# Install dependencies
npm install
# Build the project
npm run buildConfiguration
Getting your Slite API Key
Log in to your Slite workspace
Go to Settings → API
Generate a new API key
Setting up the MCP Server
Add the server to your MCP configuration file (~/.mcp.json):
{
"mcpServers": {
"slite": {
"command": "node",
"args": ["/path/to/slite-mcp/build/index.js"],
"env": {
"SLITE_API_KEY": "your-api-key-here"
}
}
}
}Usage
Once configured, the following tools are available:
slite_search
Search for notes in your Slite workspace.
Parameters:
query(required): Search query stringhitsPerPage(optional): Results per page (default: 10)
Example:
{
"tool": "slite_search",
"arguments": {
"query": "project documentation",
"hitsPerPage": 5
}
}slite_get_note
Retrieve a specific note by its ID.
Parameters:
noteId(required): The ID of the note to retrieveformat(optional): Format to return - "md" or "html" (default: "md")
Example:
{
"tool": "slite_get_note",
"arguments": {
"noteId": "BoptqNi4pm0lcV",
"format": "md"
}
}slite_get_note_children
Get all child notes of a parent note.
Parameters:
noteId(required): The ID of the parent notecursor(optional): Pagination cursor for next page
Example:
{
"tool": "slite_get_note_children",
"arguments": {
"noteId": "5i6k33yrVu7eMy"
}
}slite_ask
Ask natural language questions and get AI-powered answers from your Slite workspace.
Parameters:
question(required): The question to askparentNoteId(optional): Limit search to notes under this parent
Example:
{
"tool": "slite_ask",
"arguments": {
"question": "What is our deployment process?"
}
}slite_create_note
Create a new note in your Slite workspace.
Parameters:
title(required): Note titlemarkdown(optional): Note content in markdown formatparentNoteId(optional): Parent note ID (creates in personal channel if not specified)
Example:
{
"tool": "slite_create_note",
"arguments": {
"title": "Meeting Notes",
"markdown": "# Meeting Notes\n\n- Discussed project timeline\n- Assigned tasks",
"parentNoteId": "5i6k33yrVu7eMy"
}
}slite_edit_note
Edit a note using search-and-replace. Preferred for targeted edits - faster and safer than full rewrite.
Parameters:
noteId(required): The ID of the note to editedits(required): Array of search-and-replace operationsoldText: Exact text to find (must be unique in document)newText: Text to replace it with
dryRun(optional): If true, validate edits without applying them
Example:
{
"tool": "slite_edit_note",
"arguments": {
"noteId": "BoptqNi4pm0lcV",
"edits": [
{ "oldText": "Draft", "newText": "Final" },
{ "oldText": "TODO: add details", "newText": "Implementation complete" }
],
"dryRun": false
}
}slite_update_note
Replace entire note content. Use slite_edit_note for small changes.
Parameters:
noteId(required): The ID of the note to updatemarkdown(required): New markdown content (replaces entire note)title(optional): New title (keeps existing if not provided)
Example:
{
"tool": "slite_update_note",
"arguments": {
"noteId": "BoptqNi4pm0lcV",
"markdown": "# New Content\n\nThis replaces everything.",
"title": "Updated Title"
}
}Testing
Quick Start
# Copy environment config and add your API key
cp .env.example .env
# Edit .env with your SLITE_API_KEY
# Setup test data (creates test documents in Slite)
npm run test:setup
# Run all tests
npm testTest Setup
The test:setup command creates test documents in your Slite workspace:
A parent note with 55 child notes (for cursor pagination testing)
A "Test Data for MCP Server" child with searchable keywords
The script is idempotent - it won't create duplicates if test data already exists.
# Setup with a new parent note
npm run test:setup
# Or use an existing note as parent
npm run test:setup -- --parent=<note-id>
# Force recreation even if data exists
npm run test:setup -- --forceTest Suite
The test suite includes:
API Tests: Search, get note, get children, ask endpoint
Error Handling: Invalid IDs, unauthorized access
Pagination: hitsPerPage for search, cursor for children (requires 55+ children)
Content Formats: Markdown and HTML output
MCP Server Integration: All tools via stdio transport
Write Operations: Create, edit, update - with content verification after each operation
Development
Project Structure
slite-mcp/
├── src/
│ └── index.ts # Main MCP server (7 tools: 4 read, 3 write)
├── build/ # Compiled JavaScript files
├── tests/
│ ├── index.test.js # Consolidated test suite
│ └── setup-test-data.js # Idempotent test data setup
├── examples/ # Example configurations
├── package.json
├── tsconfig.json
└── README.mdBuilding
npm run buildRequirements
Node.js 16+
TypeScript 5.0+
A valid Slite API key
API Response Formats
The Slite API returns data in specific formats:
Search Results
Results are in the
hitsarrayEach hit contains:
id,title,highlight,updatedAt,type,parentNotes
Note Content
Full markdown or HTML content
Includes metadata:
id,title,url,updatedAt,parentNoteId
Child Notes
Results in the
notesarrayPagination info:
total,hasNextPage,nextCursor
Troubleshooting
Authentication Failed
Verify your API key is correct
Check if the key has the necessary permissions
No Results Found
Try different search terms
Ensure the notes exist in your workspace
Check if you have access to the notes
API Changes
If you encounter errors, the Slite API might have changed. Check:
Response format in the test scripts
Endpoint URLs
Required parameters
Contributing
Contributions are welcome! Please:
Fork the repository
Create a feature branch
Make your changes
Add tests if applicable
Submit a pull request
License
MIT License - see LICENSE file for details
Support
For issues or questions:
Create an issue on GitHub
Check Slite's API documentation
Review the test scripts for examples
Available Tools
7 toolsslite_askA
Ask a question to your Slite notes in natural language. Returns an AI-generated answer with sources.
| Name | Required | Description | Default |
|---|---|---|---|
| question | Yes | The question to ask Slite | |
| parentNoteId | No | Optional filter to only search within notes under this parent note ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the tool returns an AI-generated answer with sources, implying a read-only, non-destructive operation. However, it does not detail response structure, error conditions, rate limits, or authentication requirements. The description is minimally adequate but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two concise sentences. The first sentence defines the action and input, the second defines the output. No unnecessary words, front-loaded with key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 parameters, no output schema), the description covers the main functionality. It could be improved by specifying the format of the answer or sources, but it's largely sufficient for an agent to understand what the tool does and what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with clear descriptions for both parameters. The tool description adds 'in natural language' for the question parameter, which slightly enhances meaning but is not essential. The parentNoteId parameter description in the schema is already explanatory. The description adds marginal value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Ask a question to your Slite notes in natural language' with output 'Returns an AI-generated answer with sources.' It distinguishes itself from sibling tools like slite_search (likely returns matching notes) and slite_get_note (retrieves a specific note).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool (getting AI answers from notes). While it doesn't explicitly state when not to use it or mention alternatives, the sibling tool list implies alternatives for different use cases (e.g., slite_search for literal searches). The description is sufficient for an agent to decide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
slite_create_noteB
Create a new note in Slite
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Note title | |
| markdown | No | Note content in markdown format | |
| parentNoteId | No | Parent note ID (optional - creates in personal channel if not specified) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosure but only states 'Create a new note'. It does not mention authentication requirements, rate limits, what happens if a note already exists, or any side effects. This is insufficient for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that is front-loaded with the core purpose. It contains no unnecessary words, though a bit more context could improve usefulness without sacrificing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool creates a note with three parameters and no output schema, the description should explain return behavior (e.g., created note ID), error conditions, or success criteria. It fails to provide these details, leaving the agent without enough context to fully understand the tool's behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema describes all three parameters (title, markdown, parentNoteId) with clear descriptions. The description adds no additional meaning beyond the schema, but since coverage is 100%, the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the verb 'Create' and the resource 'a new note in Slite'. This clearly distinguishes it from sibling tools like slite_edit_note and slite_update_note, which modify existing notes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for creating a new note, but provides no guidance on when to use this tool versus alternatives like slite_update_note for modifications or slite_search for retrieval. No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
slite_edit_noteA
Edit a Slite note using search-and-replace. Preferred for targeted edits - faster and safer than full rewrite. Each edit's oldText must be unique in the document.
| Name | Required | Description | Default |
|---|---|---|---|
| noteId | Yes | The ID of the note to edit | |
| edits | Yes | List of search-and-replace operations applied sequentially | |
| dryRun | No | If true, validate edits without applying them |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Discloses search-and-replace mechanism and uniqueness constraint. Does not detail error handling, idempotency, or return format, but adequate for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences, front-loaded with purpose, followed by usage guidance and constraint. No redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, description covers purpose, preference, and key constraint. Missing potential details like return value or side effects, but sufficient for a simple edit tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and descriptions are clear. Description adds 'applied sequentially' for edits and reinforces uniqueness for oldText, providing extra context beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Edit a Slite note using search-and-replace' and distinguishes from siblings by noting it's 'Preferred for targeted edits - faster and safer than full rewrite.' This sets it apart from slite_update_note.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides guidance on when to use (targeted edits) and a constraint (oldText must be unique). Does not explicitly list alternatives or when not to use, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
slite_get_noteB
Get a specific note by ID
| Name | Required | Description | Default |
|---|---|---|---|
| noteId | Yes | The ID of the note to retrieve | |
| format | No | Format to return (markdown or html) | md |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are given, so the description carries full burden. It only says 'Get' without disclosing error behavior (e.g., what happens if noteId is invalid or not found), response format, or any side effects. More detail is needed for a safe read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (one sentence, 6 words), but lacks necessary details. It could be slightly longer to cover usage hints without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is no output schema and no annotations, the description should provide more context about returns, errors, and usage. It barely covers the basic purpose, leaving the agent with many unknowns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds no extra meaning beyond what the schema already provides (e.g., noteId is an ID, format has enum).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (Get) and resource (a specific note by ID), distinguishing it from siblings like slite_create_note or slite_search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or alternatives are provided; usage is implied from the tool name and purpose. Could mention that for retrieving a note by ID, this is the tool, but no guidance on when not to use it (e.g., when you need to search).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
slite_get_note_childrenB
Get child notes of a parent note
| Name | Required | Description | Default |
|---|---|---|---|
| noteId | Yes | The ID of the parent note | |
| cursor | No | Cursor for pagination (from previous response) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does not disclose pagination behavior (despite the cursor parameter), authentication needs, rate limits, or any side effects. The minimal description leaves the agent uninformed about important behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, short sentence, which is concise. However, it is too minimal and does not provide enough context or structure to be maximally useful. It sacrifices completeness for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema or annotations, the description is insufficiently complete. It does not explain what the response contains (e.g., list of note IDs or full notes), pagination details, or any error conditions. For a tool with no output schema, the description should elaborate on return values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%; both parameters have clear descriptions in the schema. The tool description adds no additional meaning beyond the schema, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action and resource: 'Get child notes of a parent note'. It distinguishes from siblings like slite_get_note (which gets a single note) and slite_search (which searches across notes). The verb 'Get' and resource 'child notes' are specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. For example, it does not explain when to use this over slite_get_note or slite_search. No explicit when-to-use or when-not-to-use information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
slite_searchC
Search for notes in Slite
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query | |
| hitsPerPage | No | Maximum number of results per page (default: 10) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose any behavioral traits (e.g., read-only nature, rate limits, authentication requirements). It simply states the action without additional context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It is concise, though it could be slightly more informative without sacrificing brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of an output schema and the minimal description, the tool fails to clarify what the search results contain (e.g., note titles, IDs, snippets). With sibling tools like slite_get_note, more context on the return format would be beneficial for proper invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% description coverage for both parameters (query and hitsPerPage). The description adds no extra meaning beyond the schema, so it meets the baseline but does not enhance understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'search' and the resource 'notes', making the basic purpose evident. However, it could be more specific about the scope or type of search, but it is sufficient for differentiation from siblings like slite_ask.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as slite_ask or slite_get_note. The description lacks any context for usage scenarios or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
slite_update_noteA
Replace entire note content. Use slite_edit_note for small changes. WARNING: This overwrites everything.
| Name | Required | Description | Default |
|---|---|---|---|
| noteId | Yes | The ID of the note to update | |
| title | No | New title (optional - keeps existing if not provided) | |
| markdown | Yes | New markdown content (replaces entire note) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so description bears full burden. It warns that overwriting is irreversible (implicitly). Could specify that note ID must exist or return format, but the warning is adequate for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no wasted words. The warning is front-loaded, and the sibling alternative is immediately given.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 3-parameter tool with no output schema, the description, combined with full schema coverage, provides everything needed to use the tool correctly and avoid pitfalls.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all three parameters (100% coverage). Description reinforces that 'markdown' replaces entire content and 'title' is optional, but adds no new semantic detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool replaces entire note content, using a specific verb and resource. It distinguishes itself from sibling 'slite_edit_note' by contrasting small vs. full replacement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises to use 'slite_edit_note' for small changes, providing a clear alternative. The warning about overwriting everything sets strong usage boundaries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
7 tool updates
v1.0.0- First observed
slite_ask - First observed
slite_create_note - First observed
slite_edit_note - First observed
slite_get_note - First observed
slite_get_note_children - First observed
slite_search - First observed
slite_update_note
TDQS
Scored across 7 tools
Each tool has a clearly distinct purpose: ask is for Q&A, create/edit/get/search/get_children/update each target different aspects of note management. Even edit_note and update_note are differentiated by targeted vs. full replacement.
All tools use the slite_ prefix with snake_case, mostly following a verb_noun pattern (e.g., slite_create_note). Minor inconsistency: slite_ask and slite_search lack a noun in their names, but the pattern is still predictable.
With 7 tools, the server is well-scoped for a note-taking service. Each tool serves a core function without superfluous duplicates, and the count feels appropriate for the domain.
The tool set covers create, read, and update operations, but notably lacks a delete note tool. Additionally, there is no explicit list-all-notes tool (only search), which may force agents to use workarounds. These gaps are significant for a CRUD-like service.
Maintenance
Related MCP Connectors
Notes, files, GitHub, and Drive through one MCP connection.
Notes, files, GitHub, and Drive through one MCP connection.
Notes, files, GitHub, and Drive through one MCP connection.
MCP-native open-source Notion alternative: read & write pages, databases and kanban boards.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to interact with Joplin notes and notebooks, including searching, reading, and listing notebooks through natural language commands via the MCP protocol.179 npm48MIT
- AlicenseNot gradedqualityAmaintenanceEnables interaction with Joplin notes through MCP, allowing searching, creating, updating, and deleting notes via the Joplin Web Clipper API.5 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables access to a notes knowledge base via MCP, providing tools for keyword search, note creation, and retrieval, along with browseable note resources.7 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables MCP clients to read and search pages in a remote SilverBullet space and create or append to notes under a configurable prefix via SilverBullet's HTTP API.Apache 2.0