Skip to main content
Glama

TealKit MCP Server

MCP Protocol License: MIT Dart Glama Smithery

A specialized Model Context Protocol (MCP) Server that bridges Claude Desktop, Claude Code, and Cursor IDE to persistent NAS/Server task scheduling, deep recursive web documentation crawlers, offline document RAG knowledge bases, and smartphone push alerts with human-in-the-loop approvals.


Table of Contents


Related MCP server: Hoard

Why TealKit MCP?

State-of-the-art coding assistants like Claude Desktop and Cursor excel at writing and editing code within your local repository. However, they lack:

  1. Persistent Execution: They cannot run long jobs in the background on your home server or NAS while your workstation is asleep.

  2. Deep Documentation Crawling: Web crawlers in desktop LLMs are constrained; they cannot recursively crawl an entire documentation site (e.g. 50+ pages of Flutter or Kubernetes docs) and index it into a persistent local vector/FTS database for instant retrieval.

  3. Mobile Human-in-the-Loop: When Claude finishes a 30-minute build, benchmark, or deployment script, it cannot notify your phone or ask you to tap [Approve] / [Reject] while you are away from your desk.

TealKit MCP solves all three problems by exposing 10 targeted tools across 3 core pillars.


3 Core Pillars & Tools

🌐 Pillar 1: Persistent Background Tasks & NAS Scheduling

Offload long-running tasks and cron schedules to your TealKit Server or NAS.

  • tealkit_schedule_job: Schedules recurring background cron tasks (e.g. daily backups, nightly benchmark runs, continuous health checks).

  • tealkit_run_background: Dispatches asynchronous long-running jobs (fire-and-forget) to your server worker pool. Supports exact task IDs or human-readable names (e.g. "tcloud disk space").

  • tealkit_get_job_status: Checks logs, exit status, and progress of any queued or running job.

  • tealkit_list_jobs: Lists all active, scheduled, and configured jobs on your server.

πŸ“š Pillar 2: Deep Recursive Web Crawler & Offline Document RAG

Turn any documentation website or directory into an offline SQLite knowledge base with citations.

  • tealkit_crawl_and_index: Recursively crawls a website documentation tree (up to max_pages) and ingests chunks into your local offline knowledge base.

  • tealkit_index_local_docs: Indexes local directories containing PDFs, Word (.docx), Markdown (.md), and text files.

  • tealkit_search_knowledge: Performs hybrid Reciprocal Rank Fusion (BM25 FTS5 + vector similarity) searching with exact citations, file paths, and line ranges.

  • tealkit_get_source_doc: Retrieves the complete stored content and metadata of any indexed document or web page.

πŸ“± Pillar 3: Mobile Push Alerts & Human-in-the-Loop Approvals

Keep the developer informed and in control from anywhere.

  • tealkit_send_mobile_alert: Sends instant push notifications with configurable priority to the user's smartphone.

  • tealkit_request_mobile_approval: Presents an interactive confirmation card on the user's smartphone with Approve / Reject buttons and waits for human authorization before high-risk actions (e.g. database migrations, cloud deployments).


Download & Setup

You do not need Dart, Flutter, Python, or Node.js installed on your machine.

  1. Download the latest binary for your operating system from GitHub Releases:

    • Windows: tealkit-mcp.exe

    • Linux: tealkit-mcp-linux

    • macOS: tealkit-mcp-macos

  2. Place the executable in a directory of your choice (e.g., C:\tools\tealkit-mcp.exe or /usr/local/bin/tealkit-mcp).

  3. Add it to your Claude Desktop or Cursor configuration (see Client Configuration below).


Option B: Build from Source

If you have the Dart SDK (3.0+) installed:

# 1. Clone the repository
git clone https://github.com/lschaffer/tealkit-mcp.git
cd tealkit-mcp

# 2. Install dependencies
dart pub get

# 3. Compile standalone native executable
# On Windows:
dart compile exe bin/tealkit_mcp.dart -o tealkit-mcp.exe

# On Linux / macOS:
dart compile exe bin/tealkit_mcp.dart -o tealkit-mcp
chmod +x tealkit-mcp

Alternatively, run directly from source without compiling:

dart run bin/tealkit_mcp.dart

Option C: Run via Docker

To run in an isolated container:

# 1. Build Docker image
docker build -t tealkit-mcp .

# 2. Test stdio container
docker run -i --rm tealkit-mcp

Client Configuration

Claude Desktop (claude_desktop_config.json)

Configuration file location:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Linux: ~/.config/Claude/claude_desktop_config.json

Using Pre-compiled Binary:

{
  "mcpServers": {
    "tealkit": {
      "command": "C:/tools/tealkit-mcp.exe",
      "args": [],
      "env": {
        "TEALKIT_SERVER_URL": "https://tealkit.dev/tealkitserver",
        "TEALKIT_SERVER_KEY": "YOUR_SERVER_API_KEY",
        "TEALKIT_PUSH_URL": "https://ntfy.sh/your-private-alert-topic"
      }
    }
  }
}

Using Dart Source:

{
  "mcpServers": {
    "tealkit": {
      "command": "dart",
      "args": [
        "run",
        "C:/projects/ls/tealkit-mcp/bin/tealkit_mcp.dart"
      ],
      "env": {
        "TEALKIT_SERVER_URL": "https://tealkit.dev/tealkitserver",
        "TEALKIT_SERVER_KEY": "YOUR_SERVER_API_KEY",
        "TEALKIT_PUSH_URL": "https://ntfy.sh/your-private-alert-topic"
      }
    }
  }
}

Using Docker:

{
  "mcpServers": {
    "tealkit": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e", "TEALKIT_SERVER_URL=https://tealkit.dev/tealkitserver",
        "-e", "TEALKIT_SERVER_KEY=YOUR_SERVER_API_KEY",
        "tealkit-mcp"
      ]
    }
  }
}

Cursor IDE (.cursor/mcp.json)

Add to your Cursor project .cursor/mcp.json or global settings:

{
  "mcpServers": {
    "tealkit": {
      "command": "C:/tools/tealkit-mcp.exe",
      "args": []
    }
  }
}

Mobile Push Notifications Setup

TealKit MCP supports three flexible methods to deliver push notifications and human-in-the-loop approvals to your phone:

ntfy.sh is a free, privacy-friendly, open-source HTTP push notification service:

  1. Install the free ntfy app on your phone:

  2. Open the ntfy app and tap + to subscribe to your own private topic name (e.g. tealkit-dev-alert-9823).

  3. Set the endpoint in your config:

    push:
      endpoint: "https://ntfy.sh/tealkit-dev-alert-9823"

    or via environment variable TEALKIT_PUSH_URL=https://ntfy.sh/tealkit-dev-alert-9823.

  4. Claude can now send alerts and approval prompts directly to your lock screen with zero infrastructure setup.

Method 2: TealKit Mobile App via Server SSE Gateway

If you have the TealKit Flutter mobile app running:

  1. The app connects to the event stream at https://tealkit.dev/tealkitserver/api/v1/events.

  2. When tealkit_send_mobile_alert is executed, the server broadcasts an alert event to the mobile client.

  3. The mobile app displays a system notification using flutter_local_notifications (task_success, task_error channels).

Method 3: Firebase Cloud Messaging (FCM)

For enterprise or production deployments where notifications must wake up a fully closed mobile app:

  1. Register your device token in the TealKit Server device registry (/api/v1/devices).

  2. Configure TEALKIT_PUSH_KEY with your server's Firebase service credentials.

  3. High-priority pushes are routed directly through Google/Apple APNs gateways.


Configuration Reference

TealKit MCP can be configured via command-line flags, environment variables, or a local config.yaml file located in ~/.tealkit_mcp/config.yaml or ./config.yaml:

server:
  url: "https://tealkit.dev/tealkitserver"   # Or local NAS: http://192.168.1.50:8080
  api_key: "your_api_key"

rag:
  database_path: "~/.tealkit_mcp/knowledge.db"

push:
  endpoint: "https://ntfy.sh/your-topic"
  auth_token: ""

CLI Options

--config, -c       Path to custom config.yaml file
--server-url       TealKit NAS/Server URL (e.g. https://tealkit.dev/tealkitserver)
--server-key       TealKit Server API Key
--rag-db           Path to RAG SQLite database directory
--help, -h         Show help message

Environment Variables

Variable

Description

Default

TEALKIT_SERVER_URL

Base URL of TealKit Server / NAS instance

https://tealkit.dev

TEALKIT_SERVER_KEY

Bearer API token for server authentication

""

TEALKIT_PUSH_URL

Push gateway endpoint for mobile alerts

""

TEALKIT_PUSH_KEY

Push gateway authorization secret

""


Architecture

TealKit MCP is built with 100% pure Dart, ensuring instant startup (<50ms), zero native C++ driver dependencies, and cross-platform compatibility across Windows, Linux, and macOS.

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚               Claude Desktop / Cursor IDE              β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                           β”‚ JSON-RPC 2.0 (stdio)
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                   TealKit MCP Server                   β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚   Task Scheduler  β”‚   RAG Pipeline   β”‚  Mobile Bridge  β”‚
β”‚   (Server Bridge) β”‚ (Crawler & FTS5) β”‚  (Push Gateway) β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
          β”‚                  β”‚                  β”‚
    TealKit Server/NAS  Local SQLite DB   Smartphone App (ntfy / TealKit)

License

This project is licensed under the MIT License - see the LICENSE file for details.

Available Tools

10 tools
tealkit_crawl_and_indexC

Recursively crawls a website documentation tree (up to max_pages) and indexes it into the local offline RAG knowledge base.

Inputs: url (required), max_pages.

tealkit_get_job_statusB

Inspects the execution logs, exit status, and progress of a background or scheduled job.

Inputs: job_id (required), tail_lines.

tealkit_get_source_docA

Retrieves the full stored content of a document or web page from the knowledge base by URL or filepath.

Inputs: source (required).

tealkit_index_local_docsC

Indexes a local directory containing PDFs, Word (.docx), Markdown (.md), or text files into the knowledge base.

Inputs: folder_path (required).

tealkit_list_jobsA

Lists all configured, scheduled, and currently running background jobs on the TealKit server.

Inputs: no named parameters.

tealkit_request_mobile_approvalA

Sends an interactive approval prompt to the user smartphone and waits until the user taps Approve or Reject.

Inputs: title (required), summary (required), details, timeout_seconds.

tealkit_run_backgroundB

Dispatches an asynchronous, long-running task to the TealKit server/NAS (fire-and-forget).

Inputs: task (required), arguments, timeout_minutes.

tealkit_schedule_jobB

Schedules a persistent, recurring background task (cron job) on the TealKit Server or NAS.

Inputs: cron (required), task_name (required), command_or_prompt (required), profile.

tealkit_search_knowledgeA

Searches the offline local knowledge base (crawled web documentation and local files) with exact citations, file paths, and line numbers.

Inputs: query (required), max_results.

tealkit_send_mobile_alertC

Sends an instant push notification to the user TealKit mobile app (Android / iOS).

Inputs: title (required), message (required), priority.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 10 tools

    Disambiguation4/5

    Most tools target distinct operations, but tealkit_schedule_job and tealkit_run_background both create background tasks, and tealkit_crawl_and_index / tealkit_index_local_docs both feed the same knowledge base. Descriptions do clarify the distinction (recurring/cron vs fire-and-forget; web vs local source), so confusion is limited.

    Naming Consistency4/5

    All tools use the tealkit_ prefix with snake_case verb_noun phrasing (list_jobs, schedule_job, get_job_status, search_knowledge). Minor deviations like run_background and crawl_and_index use compound verbs but remain readable and consistent enough.

    Tool Count5/5

    Ten tools is well-scoped and each earns its place, spanning job management, knowledge-base indexing/search, and mobile notifications without redundancy.

    Completeness4/5

    Job lifecycle covers list/schedule/run/status but lacks a cancel or delete operation, and the KB surface has no re-index or removal capability. These are minor gaps an agent can work around for the core workflows.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      A robust, lightweight Model Context Protocol (MCP) server designed to empower your AI Agents with context-awareness, safe execution sandboxes, and dedicated thought logs.
      ISC