Fastidious MCP Server
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., "@Fastidious MCP Server create a note about project ideas"
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.
Fastidious MCP Server
MCP (Model Context Protocol) server for Fastidious AI notes application.
Deployment
Environment Variables
Variable | Description | Default |
| Fastidious API base URL |
|
Deploy to Coolify
Create a new service in Coolify
Connect to this repository
Set build pack to Nixpacks or Dockerfile
Configure environment variable:
FASTIDIOUS_URL=https://blog.tjb.appOr for internal Docker network:
FASTIDIOUS_URL=http://fastidious:3000Set the domain to
mcp.tjb.appDeploy
Docker
docker build -t fastidious-mcp .
docker run -p 3001:3001 -e FASTIDIOUS_URL=https://blog.tjb.app fastidious-mcpRelated MCP server: joo_mcp
Usage
Claude Desktop Configuration
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"fastidious": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.tjb.app/sse?token=YOUR_TOKEN_HERE"]
}
}
}Get your token from Fastidious AI Settings (sidebar → profile → Settings).
Note: Uses mcp-remote to proxy the remote SSE connection.
Local Development (stdio mode)
For local testing with Claude Desktop:
{
"mcpServers": {
"fastidious": {
"command": "npx",
"args": ["tsx", "/path/to/mcp-server/src/index.ts"],
"env": {
"FASTIDIOUS_TOKEN": "YOUR_TOKEN_HERE",
"FASTIDIOUS_URL": "https://blog.tjb.app"
}
}
}
}Available Tools
Tool | Description |
| Create a new markdown note |
| Get a note by ID |
| Update a note |
| Delete a note |
| List all notes (with optional collection filter) |
| Search notes by content |
| Create a new collection |
| Get a collection (with optional contents) |
| List all collections |
| Add notes to a collection |
| Remove notes from a collection |
Architecture
Claude Desktop
↓ MCP Protocol (SSE)
MCP HTTP Server (mcp.tjb.app)
↓ HTTP + Bearer Token
Fastidious API (blog.tjb.app/api/mcp/*)
↓
User's Notes & CollectionsAPI Endpoints
GET /health- Health checkGET /sse?token=TOKEN- MCP SSE endpoint for Claude Desktop
Internal Network (Docker/Coolify)
If running alongside Fastidious in the same Docker network:
FASTIDIOUS_URL=http://fastidious:3000This avoids external network hops for better performance.
Available Tools
11 toolscreate_collectionB
Create a new collection to organize notes
Inputs: title (required), parentId, displayFields, fieldDefinitions.
create_noteB
Create a new note in Fastidious. Notes should be in Markdown format.
Inputs: title (required), content (required), fields, parentId.
delete_noteC
Delete a note by ID
Inputs: id (required).
get_collectionB
Get a collection by ID, optionally including its children
Inputs: id (required), includeChildren.
get_noteA
Get a specific note by ID with its full content
Inputs: id (required).
list_collectionsB
List all collections at root level or within a parent
Inputs: parentId.
list_notesB
List all notes, optionally filtered by parent collection
Inputs: parentId.
move_noteC
Move a note or collection to a different parent collection
Inputs: id (required), targetParentId.
search_notesC
Search notes by content
Inputs: query (required), parentId.
update_collectionB
Update a collection's settings, including field definitions
Inputs: id (required), title, viewMode, sortField, +3 more.
update_noteC
Update an existing note
Inputs: id (required), title, fields, content.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 11 tools
Tools target distinct resources and actions, so an agent can easily distinguish create/get/update/delete/list for notes. The only wrinkle is move_note, which also moves collections despite being named for notes, creating minor ambiguity about where collection moves belong.
All 11 tools follow a clean verb_noun snake_case pattern (create_note, list_collections, move_note, etc.). Conventions are applied uniformly across both note and collection resources.
Eleven tools is well within a reasonable range and each one covers a distinct capability (CRUD, listing, searching, organizing). No redundant or filler tools pad the surface.
Notes have full CRUD plus list and search, but collections lack a delete operation and there is no delete_collection or collection search, leaving an obvious lifecycle gap. A move operation exists only under move_note rather than a symmetric resource-level naming.
Related MCP Connectors
MCP-native notes and memory for ChatGPT, Claude, and other AI tools.
Persistent memory layer for AI tools. Save and recall notes across Claude and other MCP clients.
Save notes in seconds. Your AI can then search, read, write and tag them over MCP.
Read and write your Caliu notes from any MCP client: search, create, tag, remind, attach files.
Related MCP Servers
- AlicenseAqualityAmaintenanceEnables AI assistants to interact with Joplin notes, notebooks, and tags through a standardized MCP interface, supporting CRUD operations, search, and organization.19131 PyPI174MIT
- FlicenseNot gradedqualityCmaintenanceEnables natural language CRUD operations on notes by integrating FastAPI, Gemini, and MCP.-
- FlicenseAqualityDmaintenanceEnables seamless interaction with Voicenotes through natural language, allowing users to search, create, edit, tag, and organize their notes via an MCP client like Claude.145-
- AlicenseNot gradedqualityCmaintenanceEnables MCP-compatible clients to create, list, search, and delete notes, read all notes as markdown, and use prompts to summarize or clean up notes.MIT