Fmsg MCP logo

Fmsg MCP

Send, receive, thread, react to, and exchange attachments through fmsg from MCP-compatible AI clients.

Install Fmsg MCP

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "fmsg-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@markmnl/fmsg-mcp"
      ],
      "env": {
        "FMSG_API_URL": "YOUR_VALUE_HERE",
        "FMSG_API_KEY": "YOUR_VALUE_HERE",
        "FMSG_MCP_ALLOWED_HOSTS": "YOUR_VALUE_HERE",
        "FMSG_MCP_ALLOWED_ORIGINS": "YOUR_VALUE_HERE",
        "FMSG_MCP_AUTH_MODE": "YOUR_VALUE_HERE",
        "FMSG_MCP_WAIT_MAX_SECONDS": "YOUR_VALUE_HERE",
        "FMSG_MCP_DOWNLOAD_DIR": "YOUR_VALUE_HERE",
        "FMSG_MCP_COMMIT": "YOUR_VALUE_HERE"
      }
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Values are written into the snippet above so you can paste it as is. They never leave your browser.

Automated check passed— started and listed 17 tools correctly (Today).

Overview

fmsg-mcp connects an AI agent to a deployed fmsg Web API, giving it an fmsg address for messaging, threaded replies, reactions, and attachments. It supports local stdio operation with one configured identity per process and Streamable HTTP for shared or remote deployments with per-user authentication. Use it when an agent needs to monitor an fmsg inbox, send or draft messages, follow thread lineage, or wait for incoming replies. Hosting and identity services are external, so you use an fmsg provider or self-host the Web API.

Use cases

  • Monitor an fmsg inbox for an AI agent
  • Send threaded updates to fmsg addresses
  • Draft messages and upload attachments before sending
  • Wait for replies and continue conversations
  • Inspect delivery status and message lineage

Key features

  • fmsg inbox and sent-message access
  • Thread replies, lineage, and reply guidance
  • Draft, send, delete, and recipient-management tools
  • Reactions, read-state updates, and delivery status
  • Inline and URL-based attachment transfers
  • stdio and Streamable HTTP transports

Tools17

What Fmsg MCP lets your agent do. Expand a tool for its parameters.

Verified live~4.4k tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 3d ago

Recent health check succeeded.

8/8 checks healthy over the last 44d

What it can do

From the 17 tools this server returned when we ran it; 17 declare their own safety hints.

Runs commands · 3Can delete or modify data · 5Handles credentials · 3Makes network requests · 16Read-only tools · 11
Network at startup3 connections
Files written at startupNone
Install scriptsNone
npm provenanceSigned build
Package age54 days
Maintainers1

Observed 2026-10-27 in an isolated sandbox. A description of reach, not a security audit.

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 17d ago via OSV.dev · @markmnl/fmsg-mcp (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars4Stargazers on the source repository.
npm downloads2.8kPackage downloads in the last 30 days.
Last commit5d agoMost recent push to the default branch.
Availability100%Our rolling endpoint + install checks that succeeded.
Install checkPassedOur sandbox started it and listed its tools.
Tools exposed17Callable tools this server registers over MCP.

How Fmsg MCP works

What fmsg-mcp does

fmsg-mcp exposes fmsg messaging through the Model Context Protocol. Agents can inspect their address and owner, resolve short names, read inbox and sent-message views, retrieve complete messages, and trace a message's lineage through a thread. It also supports starting conversations, replying, adding recipients to sent messages, marking messages read, and setting or clearing reactions.

Messages in fmsg are immutable once sent. For messages that need review before delivery, the server can create drafts, including replies to existing messages, and later send or discard them. Other fmsg clients can see drafts. Attachment handling includes inline downloads for small files, credential-free or presigned download links in HTTP deployments, upload links for draft attachments, and local saving in stdio mode when a download directory is configured.

How it works

The server uses an fmsg Web API supplied by a hosting provider or a self-hosted deployment. In stdio mode, the process acts as one fmsg address using environment-based configuration. An API key commonly represents a sub-address; operations such as sending, replying, and drafting can include its owner unless that behavior is disabled with the relevant tool option.

Streamable HTTP mode lets one deployment serve multiple users. Each caller supplies its own fmsg API key as a bearer token, or the deployment can be configured for OAuth. The MCP endpoint is /mcp, and /healthz exposes deployment liveness, version, and commit information. The wait_for_message tool holds a request open for inbound WebSocket-pushed messages and returns cursor information so clients can resume after interruption.

Setup and configuration

Node.js 22 or later is required for local installation. Install the package through npx -y @markmnl/fmsg-mcp, then configure FMSG_API_URL and FMSG_API_KEY for a local stdio connection. Claude Code, Claude Desktop, Cursor, and VS Code can run it as a stdio MCP server.

For remote operation, start the server with --http, set FMSG_API_URL, and provide FMSG_MCP_ALLOWED_HOSTS when binding beyond loopback. Remote API-key clients must send an Authorization: Bearer fmsgk_... header; OAuth requires additional operator configuration. Browser-based clients on another origin may require FMSG_MCP_ALLOWED_ORIGINS. Proxies should allow at least 240 seconds of idle time because message waits can remain open for up to FMSG_MCP_WAIT_MAX_SECONDS.

Tools and capabilities

  • Inspect identity, transport, API URL, short-name defaults, version, and commit with whoami.
  • List inbox and sent messages, including previews, attachments, unread state, and delivery details.
  • Retrieve message content, reactions, attachments, thread topics, and visible thread lineage.
  • Send new messages, reply with reply-all behavior, create or send drafts, and add recipients.
  • React to messages, mark them read, and wait for the next inbound message.
  • Download or upload attachments through inline data, local storage, or temporary URLs, depending on transport.

The exported FmsgClient can also be imported from @markmnl/fmsg-mcp/client for reuse in JavaScript or TypeScript applications.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Fmsg MCP

fmsg-mcp is an MCP server that connects AI agents to a deployed fmsg Web API. Its main tools read inboxes and sent messages, retrieve thread context, send or draft messages, reply, react, manage read state, exchange attachments, inspect delivery status, and wait for incoming replies through stdio or Streamable HTTP.

Install it with `npx -y @markmnl/fmsg-mcp` and configure an MCP client to run that command. Local stdio setups use `FMSG_API_URL` and `FMSG_API_KEY`; Node.js 22 or later is required.

Yes, fmsg-mcp works with Cursor as a stdio MCP server. Add a server entry to Cursor's `.cursor/mcp.json`, using `npx -y @markmnl/fmsg-mcp` and environment variables for the fmsg API URL and API key.

Run `npx -y @markmnl/fmsg-mcp --http` with `FMSG_API_URL` and an allowed hostname configured. Clients connect to `/mcp` using their own bearer API key, while OAuth can be enabled for browser sign-in without user API keys.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewFmsg MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/fmsg-mcp?style=directory)](https://allmcps.com/mcp/fmsg-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/fmsg-mcp"><img src="https://allmcps.com/api/badge/fmsg-mcp?style=directory" alt="Fmsg MCP on AllMCPs" /></a>