@jemidev/mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@@jemidev/mcplist my projects and channels"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@jemidev/mcp
MCP server for Jemi. It lets an AI assistant - Claude Code, Codex, Cursor, and anything else that speaks the Model Context Protocol - read and edit your Jemi projects.
It forwards every request to a Jemi tab over a local WebSocket bridge on 127.0.0.1:4401.
assistant ──stdio──▶ @jemidev/mcp ──WebSocket──▶ your Jemi tab ──▶ Jemi API
no keys, no storage holds the keysUsage
Register it with your assistant and let the assistant start it:
claude mcp add jemi -- bunx @jemidev/mcp # or: npx -y @jemidev/mcpThen open Jemi, go to Settings → MCP and press Connect. That page has ready-made snippets for Claude Code, Claude Desktop, Codex, OpenCode, Cursor, Gemini CLI, VS Code and Windsurf.
Several assistants can be registered at once. The browser can only reach one port, so the first process to start holds the bridge and the rest forward their calls to it — one tab serves all of them.
HTTP instead
The server also speaks Streamable HTTP on http://127.0.0.1:4401/mcp, for clients that cannot
spawn a process. Then you start it yourself and leave it running:
bunx @jemidev/mcp
claude mcp add --transport http jemi http://127.0.0.1:4401/mcpWhich transport you get depends on whether stdin is a TTY: an MCP client spawns the process with
a pipe and gets stdio, a human typing the command in a terminal gets the HTTP server. Pass
--stdio or --http to say so explicitly.
Related MCP server: MCP Server Demo
Configuration
Variable | Default | Purpose |
|
| Port the browser bridge lives on. Change it in your client config too. |
| — |
|
|
| Comma-separated origins allowed to attach a bridge. |
The origin allowlist matters: without it any page you visit could connect to the local port and feed your assistant fabricated project data. It could not read anything — it has no keys — but it could lie.
Tools
34 tools covering projects, channels, tasks, documents, comments, chat, dictionaries (tags,
priorities, difficulties) and members. Ids are opaque, so resolve them first —
jemi_list_projects → jemi_list_channels — before acting. The exception is a task number
like ALP-0254: jemi_find_task_by_key resolves it in one call.
jemi_list_tasks filters by board, title, tag, priority, difficulty, assignee and by what a
task is missing, and returns a brief shape by default — listing a busy channel in full does
not fit in an assistant's context. Bulk tools (jemi_update_tasks,
jemi_update_dictionary_items, jemi_create_tasks, jemi_delete_tasks) exist so twenty edits
are one call.
Task bodies, comments and chat messages are markdown — CommonMark and GFM, plus a Jemi spelling
for what markdown lacks (underline, colour, mentions, attachments). jemi_document_format
returns the syntax each surface accepts.
Destructive tools (deleting a task, a channel, a dictionary entry) require a confirmation
argument that the assistant must get from you in words. That is a guardrail against an
over-eager agent, not a security boundary.
Bridge protocol
The frame types the server and the browser exchange are published as a subpath export, for anyone building another bridge:
import { MCP_PROTOCOL_VERSION, parseFrame, type TMcpBridgeFrame } from '@jemidev/mcp/protocol'Only one bridge may be attached at a time: every operation targets "the tab the user is looking at", and with two tabs connected there is no way to say which one that is.
Development
bun install
bun run dev # watch mode, from source
bun run build # bundles dist/ for Node
bun run check-typesThe runtime is plain Node (node:http + ws) so the package works under npx as well as
bunx; Bun is used for the toolchain.
License
MIT © Jemi
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityFmaintenanceProfessional Gemini API integration for Claude and MCP-compatible hosts with intelligent model selection and advanced file handling capabilities.44MIT
- Alicense-qualityDmaintenanceA minimal WebSocket-based MCP server implementation that enables modern tool integrations with VSCode, Claude, and other applications.7ISC
- AlicenseAqualityBmaintenanceA lightweight MCP server bridging AI agents to Google's Gemini AI via official CLI393MIT
- AlicenseAqualityCmaintenanceGemini-powered MCP server for automated code review, analysis, and documentation.1346MIT
Related MCP Connectors
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
MCP server for AI dialogue using various LLM models via AceDataCloud
MCP server for Producer/Riffusion AI music generation
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/jemidev/mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server