LimaCharlie MCP
A local MCP server for the LimaCharlie security platform that provides investigation, administration, and content-review workflows via a broad read-only tool surface with explicit organization scoping and audit logging.
README
Geoff's LimaCharlie MCP
A local MCP for LimaCharlie setup, administration, investigations, and tuning.
This is an alternative to the LimaCharlie hosted MCP. It uses LimaCharlie API surfaces directly, requires explicit scope for data, records a local audit line for each tool call, and can start adding value even with just read-only access.
Why?
Doesn't LimaCharlie already have an MCP? Yes.
Is something wrong with the LimaCharlie MCP? Nope.
Then... why? I love LimaCharlie, I had some free time, and wanted something that made LimaCharlie more accessible to people who dont live in the dark realm of EDR internals.
The official LimaCharlie docs describe:
- a hosted HTTP MCP endpoint at
https://mcp.limacharlie.io/mcp, - OAuth, JWT, and org API key authentication options,
- CLI and SDK helper surfaces layered on top of the same APIs.
This server is different: it runs locally over stdio, exchanges an org API key for short-lived LimaCharlie JWTs, refreshes those JWTs automatically, and calls the APIs directly. That avoids shelling out to the CLI and keeps the MCP implementation small and reviewable.
Install From Geoff's Plugins
The easiest agent-facing install path is the geoffs-plugins marketplace:
/plugin marketplace add geoffbelknap/geoffs-plugins
/plugin install limacharlie-mcp@geoffs-plugins
The plugin handles running the MCP server. Configure auth once before calling LimaCharlie tools.
By default, setup uses a managed local
Vault so the long-lived LimaCharlie API
key is not accidentally stored in chat history, .env files, MCP client
configuration, or audit logs. The MCP uses that protected key to mint
short-lived LimaCharlie JWTs when tools need API access.
First-Time Auth Setup
You need two values from LimaCharlie: an organization ID and a temporary bootstrap API key.
- Open LimaCharlie, login, and choose your organization.
- Copy the org ID from the URL:
app.limacharlie.io/orgs/<org-id>/.... - Open a terminal on the host running your MCP, swap in your org ID where it
says
paste-your-org-id-here, and run this:
uvx --from git+https://github.com/geoffbelknap/limacharlie-mcp \
limacharlie-mcp-configure \
--oid "paste-your-org-id-here" \
--provision-runtime-key
-
The command will print a temporary bootstrap key name and stop at a hidden
LimaCharlie API key secretprompt. Leave it waiting there. -
Go back to your browser and head to
Organization Settings->Access Management->REST API. -
Click
Create API Key, name it exactly what the command printed, and give it only:org.get apikey.ctrlThe setup command uses this temporary key to create one dedicated runtime key named
limacharlie-mcp-runtime, stores that runtime key in local Vault, and verifies it. It does not print either secret.Don't bother adding
live_stream.ctrl; this MCP does not expose live firehose or streaming telemetry tools. Spraying high pressure random telemetry at an AI is great for burning tokens, but it ain't going to make you more secure. -
Create your bootstrap key and copy the secret from the LimaCharlie dashboard.
-
Switch back to the terminal and paste the secret into the hidden prompt. It will not end up in your shell history.
-
After setup verifies the runtime key, delete the printed bootstrap key from LimaCharlie. The runtime key is already stored in Vault.
Then start a new chat with your favorite AI tool, with the plugin enabled, and ask:
Check my LimaCharlie MCP auth status.
The agent should confirm credentials are configured without showing secrets.
For screenshots, permissions, user API key mode, advanced deployment, and troubleshooting, see Onboarding And Auth.
What You Can Ask It To Do
Start with one of these:
- "Check my LimaCharlie MCP auth status."
- "Show me which LimaCharlie MCP profile and tools are available."
- "Review my LimaCharlie org posture."
- "List my LimaCharlie sensors."
- "Triage this LimaCharlie detection."
- "Help me tune noisy LimaCharlie detections."
The MCP is split into focused profiles so normal agent sessions do not need to load every tool at once:
| Profile | Intended use |
|---|---|
core |
Auth, org discovery, runtime status, schemas, ontology, and downloads. |
fleet |
Sensor onboarding, installation keys, tags, online state, and fleet maintenance. |
admin |
Organizations, users, groups, API keys, billing, outputs, extensions, and org configuration. |
content |
D&R, false positives, YARA, Hive content, lookups, playbooks, SOPs, and content governance. |
detect |
Bounded detection triage, events, cases, IOC lookups, audit, search, artifacts, and jobs. |
contain |
Endpoint containment, response tasking, reliable tasks, job cancellation, and supporting evidence. |
evict |
Response tasking plus content/YARA workflows used to remove adversary footholds. |
recover |
Post-incident recovery verification and restoration previews. |
review |
Read-only posture review, tuning, content coverage, case backlog, and access hygiene. |
Ask the agent to call lc_tool_catalog when you want the current profile's
exact tool list.
Safety Model
This MCP is meant to help an agent work carefully, not turn LimaCharlie into an unbounded data pump.
- Tools use bounded reads with explicit org scope, limits, cursors, selectors, or time windows.
- Response and administration changes use preview/confirm flows.
- API keys, JWTs, Vault tokens, and secret values are not returned in tool responses or audit excerpts.
- Live telemetry streaming, spout, and firehose surfaces are intentionally not exposed. Use LimaCharlie outputs, storage, SIEM pipelines, or purpose-built stream processors for operational telemetry streams.
More Help
- First-time setup, screenshots, user API keys, and reauth: Onboarding And Auth
- Advanced operator deployment and MCP client config: Deployment
- LimaCharlie docs: https://docs.limacharlie.io/
- LimaCharlie API key docs: https://docs.limacharlie.io/7-administration/access/api-keys/
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。