Skip to main content
Glama

Nockit ⚡

A lightweight, low-latency Model Context Protocol (MCP) server for seamless tool execution and context integration.

npm version license node version


💡 Overview

Nockit MCP bridges the gap between AI assistants (Claude Desktop, Cursor, Zed, etc.) and local development workflows. Built with minimal overhead, it provides fast, reliable tool execution and context bridging over standard input/output (stdio) or HTTP transport layers.

  • 🚀 Lightweight & Fast: Zero bloat, optimized for instant startup and low-latency message relay.

  • 🔌 Plug & Play: Seamless integration with MCP-compatible clients like Claude Desktop and Cursor.

  • 🛠️ Configurable: Simple JSON-based environment configuration.

  • Local & Portable: Works offline out of the box.


Related MCP server: allcanuse-mcp

Installation

You can run nockit-mcp directly using npx or install it globally/locally via your favorite package manager:

Using npx (Recommended)

No installation required:

npx nockit-mcp@latest

Global Installation

  npm install -g nockit-mcp
# or
  pnpm add -g nockit-mcp
# or    
  yarn global add nockit-mcp

Local Project Dependency

  npm install nockit-mcp

⚡ Quickstart

1. Claude Desktop Integration

Add nockit-mcp to your Claude Desktop configuration file:

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

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

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

  JSON {
    "mcpServers": {
        "nockit": {
        "command": "npx",
        "args": [
            "-y",
            "nockit-mcp@latest"
        ],
        "env": {
            "NOCKIT_LOG_LEVEL": "info"
        }
        }
    }
  }

Restart Claude Desktop, and the Nockit tools will be available automatically.

2. Running Locally for Development

If you are developing or testing nockit-mcp locally:

# Clone the repository
git clone [https://github.com/username/nockit.p](https://github.com/username/nockit.p)
cd nockit

# Install dependencies
npm install

# Build the package
npm run build

# Link locally for testing
npm link

📲 Auto-Notify (push notifications to your phone)

nockit can push a notification to your phone (ntfy.sh) the moment an AI agent starts waiting on you (needs_input) or finishes a task (completed) — with zero manual tool calls.

# One-time setup: detects installed clients and wires everything up
npx -y nockit-mcp setup

# Check what's configured
npx -y nockit-mcp status

# Manual fallback / one-off push
npx -y nockit-mcp send --status needs_input --summary "Review the PR when you're back"

nockit setup installs:

Client

Mechanism

Events pushed

opencode

plugin (~/.config/opencode/plugin/) + global config

question tool, permission prompts

Claude Code

Notification + Stop hooks in ~/.claude/settings.json

permission_prompt, idle_prompt, agent_needs_input, elicitation_dialog, task completion

Kimi Code

[[hooks]] block in ~/.kimi-code/config.toml

PermissionRequest, Stop, task.completed

Copilot CLI

hooks file in ~/.copilot/hooks/nockit.json

permission_prompt, agent_idle, elicitation_dialog, completions

OpenClaw

best-effort hook in ~/.openclaw/hooks/

stop / reset (no documented idle event)

Antigravity

MCP server in ~/.gemini/config/mcp_config.json

MCP tool + rules only (no public hooks API)

Install a single client explicitly: npx -y nockit-mcp setup --client claude --client kimi

All hooks are fire-and-forget (they never block or slow the agent), rate-limited to one push per 60s per client, and idempotent — re-running setup never duplicates hooks.

📣 Delivery channels

Every notification fans out to all configured channels. nockit setup asks about each optional channel after the ntfy topic — paste a webhook URL (or a bot token + chat id) and you're done. All channels are optional; ntfy always works.

Channel

What you need

Where to get it

ntfy.sh

a topic (auto-generated)

https://ntfy.sh

Discord

a webhook URL

create one in your server: Settings → Integrations → Webhooks — official docs: https://discord.com/developers/docs/resources/webhook

Slack

an incoming webhook URL

https://api.slack.com/messaging/webhooks

Telegram

bot token + chat id

create a bot with @BotFather for the token — https://core.telegram.org/bots — then message your bot and read the chat id from https://api.telegram.org/bot<TOKEN>/getUpdates (send API: https://core.telegram.org/bots/api#sendmessage)

Discord / Slack webhooks are simple HTTP forwarding: nockit just POSTs the message to your webhook URL. The URL itself is a secret — it lives in ~/.config/nockit/config.json (and the DISCORD_WEBHOOK / SLACK_WEBHOOK env vars), so keep that file private.

You can also configure channels without the interactive setup by setting the env vars below, or by editing ~/.config/nockit/config.json directly (discordWebhook, slackWebhook, telegramBotToken, telegramChatId).


⚙️ Configuration

nockit-mcp can be customized using environment variables passed during execution or configured in your MCP host client:

Environment Variable

Type

Default

Description

NOCKIT_LOG_LEVEL

string

info

Log verbosity (debug, info, warn, error)

NOCKIT_PORT

number

3000

Port used when running in HTTP/SSE transport mode

NOCKIT_HOST

string

localhost

Host interface binding for HTTP mode

NTFY_TOPIC

string

nockit_default_alerts

ntfy.sh topic to publish to

DISCORD_WEBHOOK

string

Discord webhook URL to forward notifications to

SLACK_WEBHOOK

string

Slack incoming webhook URL to forward to

TELEGRAM_BOT_TOKEN

string

Telegram bot token (with TELEGRAM_CHAT_ID)

TELEGRAM_CHAT_ID

string

Telegram chat id the bot sends messages to


Available Tools & Capabilities

List the primary tools or capabilities exposed by your MCP server here.

  • ping: Health check tool to verify server readiness and latency.

  • get_status: Returns current operational metrics and system status.


Testing & Verification

Run the built-in test suite:

npm test

To test the MCP protocol connection locally using the official MCP Inspector:

npx @modelcontextprotocol/inspector npx nockit-mcp

License

Distributed under the MIT License. See LICENSE for more information.

Available Tools

1 tool
send_push_notificationA

Automatic push notification to the user's phone. CALL IT YOURSELF — never ask permission — in exactly these situations:

  • status="completed": you finished a task, long-running operation, or multi-step edit.

  • status="needs_input": you are blocked and need the user (decision, answer, credentials) before continuing.

  • status="failed": an unrecoverable error stopped the task. Pass a one-line summary. This is a fire-and-forget notification: if the push fails, continue your task anyway. FALLBACK: if this tool is unavailable, send the same notification via bash: npx nockit send --status --summary "" [--topic ]

ParametersJSON Schema
NameRequiredDescriptionDefault
topicNoCustom Ntfy topic name. Defaults to process.env.NTFY_TOPIC or 'nockit_default_alerts'.
statusYesThe current state of your task.
summaryYesBrief progress summary, error log, or what input is needed from the user.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the transparency burden. It discloses the fire-and-forget nature, the instruction to continue if the push fails, and the fallback mechanism, all critical 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, front-loaded with purpose, and uses bullet points for readability. Every sentence contributes meaningful guidance, including the fallback instruction.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description fully equips an agent to use the tool correctly: when to call, what to pass, how to handle failure, and alternative via bash. It leaves no essential gaps given the simple schema and absence of output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value by mapping each status enum to real-world situations and specifying that the summary should be a 'one-line summary,' going beyond the schema's generic text.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the action ('push notification') and the target ('user's phone'), and the status list specifies the exact scopes. It fully distinguishes itself from any potential alternatives by enumerating the three trigger situations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly states when to use the tool ('CALL IT YOURSELF — never ask permission') and gives three concrete scenarios with definitions. It also provides a fallback command for when the tool is unavailable, making usage guidance comprehensive.

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. Dates show when Glama detected each change.

  1. 1 tool updatev1.1.2
    • First observedsend_push_notification

TDQS

A4.9/5.0
Disambiguation5/5

There is only one tool, so there is no possibility of confusing it with others. Its purpose is clear and specific.

Naming Consistency5/5

With a single tool, naming consistency is trivially maintained. The name 'send_push_notification' is descriptive and follows a standard verb_noun pattern.

Tool Count4/5

One tool is slightly below the typical 3-15 range, but the server's narrow purpose (push notifications) justifies this minimal surface. It is not overly thin because the tool covers all relevant statuses and includes a fallback.

Completeness5/5

For the domain of push notifications, the tool covers all necessary states (completed, needs_input, failed) and provides a one-line summary. There are no obvious missing operations for this singular purpose.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    A MCP server for Windows/Linux that provides 90+ tools enabling AI assistants to systematically manage local systems, including system probing, command execution, file editing, network diagnostics, and more.
    13
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    A lightweight, stdio-based MCP server enabling AI assistants to perform local file system operations like reading, writing, searching, and executing commands.
    5,122
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    An MCP server that gives your AI assistant full awareness of your local dev environment — running processes, Docker containers, git state, open ports, log files, and more.
    0
    1
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/codeCrack-01/NockIt'

If you have feedback or need assistance with the MCP directory API, please join our Discord server