Skip to main content
Glama
LAF-labs
by LAF-labs

laf-mcp-template

This is the starting point for an MCP server that connects your service to the LAF bot. The contract is just one page — mcp-contract.md — and this repository is a runnable minimal implementation of that contract, plus a pre-submission checker and CI.

Create your own repo with the Use this template button, and once you fill in just collectSignals(), the standard tool laf.watch is complete.

Getting started

bun install
bun start          # http://127.0.0.1:8765/mcp
bun run check      # 제출 전 검사 — 등록 화면과 같은 질문을 CI에서 미리

Remote server checks run with bun laf-mcp-check.ts <url> [--token <bearer>] [--json].

Related MCP server: wrg-mcp-server

Fill-in order

  1. collectSignals() — only the things that are "critical if they stop." This is not telemetry; it's the on-call list. Threshold decisions (how many before warn) must be finalized on the server and emitted as status. Even if the backend dies, respond with a signal instead of a protocol error (contract §1.2).

  2. Add free tools — one tool per task you want the bot to do, 10 tools or fewer recommended. Declare MCP standard annotations for each tool (contract §2). Tools without annotations are treated as maximum-risk (destructive) at registration, so the bot effectively can't use them. Don't build write tools from the start — run for a week with read-only tools first, then add only the ones that turn out to be needed. That's actually faster.

  3. Pass the check — until bun run check reports FAIL 0. The included GitHub Actions workflow runs the same check on every push.

  4. Deploy — to your own infrastructure. Code review, secret management, and availability are your responsibility; only the URL and Bearer token are passed to the platform.

  5. Register — register the URL in the LAF admin screen, and the platform polls laf.watch periodically (no model, pure code) and turns only the appearance, disappearance, and transitions of signals into events. Free tools run in bot conversations according to their declared risk level — reads run quietly, while destructive, outbound, and money-related actions wait for human approval.

Don'ts

  • Don't defer threshold decisions to the platform — status is finalized on the server.

  • Don't surface backend failures as protocol errors — respond with signals.

  • Don't omit annotations — everything is treated as destructive.

  • Don't downgrade annotations after registration — it's treated as privilege escalation and triggers automatic suspension plus re-consent.

Files

File

What

index.ts

Reference server (~100 lines). Stateless Streamable HTTP — a restart loses nothing

laf-mcp-check.ts

Pre-submission checker. Asks the same questions as the registration screen — taken as-is from LAF-labs/openbot; do not modify it

.github/workflows/check.yml

CI that starts the server and runs the checker

MIT — LICENSE.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    An AppSec-focused MCP server that performs static analysis scans on C/C++ source code for memory-safety vulnerabilities and parses compiled PE/ELF binary headers locally to audit active defensive compiler mitigations (ASLR, DEP/NX, PIE).
    4
    1
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    An MCP server that exposes a 60+ tool security and threat-intel stack to AI agents, enabling secret scanning, Sigma rule generation, ransomware lookup, OSINT, and deep research.
    1
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    AI code reviews and git activity digests with machine-readable risk scoring, available as an MCP server for use within an agent session.
    1
    MIT