Skip to main content
Glama
Fastidious MCP Server

Fastidious MCP Server

Fastidious MCP Server

MCP (Model Context Protocol) server for Fastidious AI notes application.

Deployment

Environment Variables

Variable

Description

Default

FASTIDIOUS_URL

Fastidious API base URL

http://localhost:3000

Deploy to Coolify

  1. Create a new service in Coolify

  2. Connect to this repository

  3. Set build pack to Nixpacks or Dockerfile

  4. Configure environment variable:

    FASTIDIOUS_URL=https://blog.tjb.app

    Or for internal Docker network: FASTIDIOUS_URL=http://fastidious:3000

  5. Set the domain to mcp.tjb.app

  6. Deploy

Docker

docker build -t fastidious-mcp .
docker run -p 3001:3001 -e FASTIDIOUS_URL=https://blog.tjb.app fastidious-mcp

Related 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_note

Create a new markdown note

get_note

Get a note by ID

update_note

Update a note

delete_note

Delete a note

list_notes

List all notes (with optional collection filter)

search_notes

Search notes by content

create_collection

Create a new collection

get_collection

Get a collection (with optional contents)

list_collections

List all collections

add_to_collection

Add notes to a collection

remove_from_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 & Collections

API Endpoints

  • GET /health - Health check

  • GET /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:3000

This avoids external network hops for better performance.

Available Tools

11 tools
create_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

    B3.3/5.0

    Scored across 11 tools

    Disambiguation4/5

    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.

    Naming Consistency5/5

    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.

    Tool Count5/5

    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.

    Completeness3/5

    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

    Related MCP Servers

    • A
      license
      A
      quality
      A
      maintenance
      Enables AI assistants to interact with Joplin notes, notebooks, and tags through a standardized MCP interface, supporting CRUD operations, search, and organization.
      19
      131 PyPI
      174
      MIT
    • F
      license
      A
      quality
      D
      maintenance
      Enables seamless interaction with Voicenotes through natural language, allowing users to search, create, edit, tag, and organize their notes via an MCP client like Claude.
      14
      5
      -