actual-mcp-server
Provides tools for managing budgets, accounts, transactions, categories, payees, rules, and more through the Actual Budget API. Supports multi-budget switching, bank sync, and advanced transaction search.
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., "@actual-mcp-servershow my spending by category for last month"
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.
Talk to your budget. Run it anywhere. Trust it in production.
Actual MCP Server is a Model Context Protocol server that connects any MCP-compatible AI assistant (such as LibreChat, LobeChat, Claude Desktop, and more) directly to your self-hosted Actual Budget instance. Ask natural language questions, create transactions, analyse spending, and manage your entire budget without ever opening the Actual Budget UI.
┌─────────────┐ MCP/HTTP ┌──────────────────┐ Actual API ┌──────────────┐
│ LibreChat │ ◄───────────► │ Actual MCP │ ◄───────────► │ Actual │
│ LobeChat │ │ Server │ │ Budget │
│ (remote) │ │ (71 tools) │ │ Server │
└─────────────┘ └──────────────────┘ └──────────────┘
┌─────────────┐ MCP/stdio ┌──────────────────┐ Actual API ┌──────────────┐
│ Claude │ ◄───────────► │ Actual MCP │ ◄───────────► │ Actual │
│ Desktop │ │ Server │ │ Budget │
│ (local) │ │ (71 tools) │ │ Server │
└─────────────┘ └──────────────────┘ └──────────────┘Why this project?
Most Actual Budget MCP implementations are simple stdio bridges designed for single-user, local use with Claude Desktop. This project goes further:
71 tools, the most comprehensive coverage available. Accounts, transactions, categories, payees, tags, notes, rules, budgets, batch operations, bank sync, and more. Covers the reachable Actual Budget API with no genuine gaps.
HTTP and stdio transport. Runs as a real remote server for LibreChat/LobeChat (
--http), or as a direct local process for Claude Desktop (--stdio). No Docker or HTTP server is needed for local use.6 exclusive ActualQL-powered tools. Search and summarise transactions by month, amount, category, or payee using Actual Budget's native query engine. Aggregated results, no raw data dumped into the AI context window.
Multi-budget switching at runtime. Configure multiple budget files and let the AI switch between them mid-conversation with
actual_budgets_switch.Multi-user ready with OIDC. Secure every session with JWKS-validated JWTs and per-user budget ACLs. No shared tokens required.
Production-grade reliability. Connection pooling (up to 15 concurrent sessions), automatic retry with exponential backoff, and a full test suite (unit + E2E + integration).
Verified working with LibreChat, LobeChat, and Claude Desktop. All 71 tools tested end-to-end. Any MCP-compatible client should work.
Table of Contents
Related MCP server: actual-mcp
Quick Start
Prerequisites
Actual Budget server running (local or remote)
Your Budget Sync ID: Actual → Settings → Show Advanced Settings → Sync ID
Node.js 22+ (npm method) or Docker
Option A: Docker (recommended)
docker run -d \
--name actual-mcp-server-backend \
-p 3600:3600 \
# Use the same URL you type in your browser to open Actual Budget:
# http://localhost:5006 (if Actual Budget runs on the same machine)
# http://192.168.1.50:5006 (if it runs on another machine on your network)
# https://actual.yourdomain.com (if you use a domain name)
# http://actual:5006 (if both containers share a Docker network; use container name)
-e ACTUAL_SERVER_URL=http://localhost:5006 \
-e ACTUAL_PASSWORD=your_password \
-e ACTUAL_BUDGET_SYNC_ID=your_sync_id \
-e MCP_SSE_AUTHORIZATION=your_secret_token \
-v actual-mcp-data:/app/data \ # required, see note below
-v actual-mcp-logs:/app/logs \
ghcr.io/agigante80/actual-mcp-server:latestWhy the
/app/datavolume is required: Actual Budget does not expose a REST API. The official@actual-app/apilibrary (used internally by this server) works by downloading a local copy of your budget data, running all queries on that local copy, then syncing changes back. The/app/datavolume gives the container a persistent, writable place to store that local copy (it is the directory the image creates and owns as the runtime user). Without it the container has nowhere to write and will fail on startup. See the Actual API docs for details.actual-mcp does not need to run on the same machine as Actual Budget. You can have Actual Budget on one server and actual-mcp on another - as long as
ACTUAL_SERVER_URLpoints to your Actual Budget instance, everything works.
Verify it's running:
# Quick health check
curl http://localhost:3600/health
# Expected: {"status":"ok","transport":"http","version":"..."}
# Full MCP handshake (also verifies your token)
curl -s -X POST http://localhost:3600/http \
-H "Authorization: Bearer your_secret_token" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"cli-test","version":"1.0"}}}' \
| python3 -m json.tool
# Success: JSON response with "protocolVersion" and "serverInfo"
# Wrong token: {"error": "Unauthorized"}
# Server not running: curl: (7) Failed to connectAlso available on Docker Hub: agigante80/actual-mcp-server:latest
Option B: Docker Compose
git clone https://github.com/agigante80/actual-mcp-server.git
cd actual-mcp-server
cp .env.example .env # fill in ACTUAL_SERVER_URL, ACTUAL_PASSWORD, ACTUAL_BUDGET_SYNC_ID
docker compose --profile production up -d # production: MCP server listens on :3600
# or
docker compose --profile dev up -d # dev mode with hot-reloadThe compose file defines only the
devandproductionprofiles. The MCP server listens on:3600directly: there is no bundled reverse proxy and no bundled Actual Budget server, so pointACTUAL_SERVER_URLat your own Actual instance. For TLS, enable native HTTPS withMCP_ENABLE_HTTPS=true(plusMCP_HTTPS_CERTandMCP_HTTPS_KEY), or front the server with your own reverse proxy.
Option C: npm (HTTP server)
# Quick start via npx (no clone needed):
ACTUAL_SERVER_URL=http://localhost:5006 \
ACTUAL_PASSWORD=your_password \
ACTUAL_BUDGET_SYNC_ID=your-sync-id \
MCP_SSE_AUTHORIZATION=your_token \
npx actual-mcp-server --http
# Or clone for development / custom config:
git clone https://github.com/agigante80/actual-mcp-server.git
cd actual-mcp-server
npm install
cp .env.example .env # fill in required values
npm run build
npm run dev -- --httpServer starts at http://localhost:3600/http by default (the listen port is MCP_BRIDGE_PORT, default 3600).
Option D: stdio (Claude Desktop native, no Docker or HTTP server needed)
The stdio transport runs the MCP server as a child process. Claude Desktop spawns it directly and communicates over stdin/stdout. No network port, no auth token, no Docker required. No cloning needed: npx downloads and caches the package automatically.
Add to claude_desktop_config.json (see docs/guides/MCP_CLIENTS_SETUP.md for config file location and all client options):
{
"mcpServers": {
"actual-budget": {
"command": "npx",
"args": ["-y", "actual-mcp-server", "--stdio"],
"env": {
"ACTUAL_SERVER_URL": "http://localhost:5006",
"ACTUAL_PASSWORD": "your_actual_password",
"ACTUAL_BUDGET_SYNC_ID": "your-sync-id-here",
"MCP_BRIDGE_DATA_DIR": "/absolute/path/to/data-dir"
}
}
}
}No token needed. stdio runs as a local process owned by your user. The transport itself is the security boundary. All 71 tools are available.
MCP_BRIDGE_DATA_DIRshould be an absolute path. Without one, the data directory resolves relative to wherever the client spawns the process, which can be unpredictable. The directory is created automatically on first run.
Option E: Unraid (Community Applications)
Actual MCP Server is published in the Unraid Community Applications store: ca.unraid.net/apps/actual-mcp-server. This runs the HTTP transport, the right choice for LibreChat, LobeChat, and other remote MCP clients.
Install it from the Apps tab (Community Applications):
Open the Apps tab and search for
actual-mcp-server, then click Install.Fill in Actual server URL, Actual server password, and Actual server Sync ID (the Sync ID is in Actual Budget: open the budget, Settings, Show advanced settings, Sync ID).
Set a strong MCP auth token. Generate one with
openssl rand -hex 32. A blank token disables all HTTP authentication and exposes your financial data unauthenticated on the LAN, so this is required (see Transport & Authentication).Leave PUID=99 and PGID=100 (
nobody:users) so the container can write the appdata Data and Logs directories, then start it.Reach the health endpoint via the container's WebUI link (port
3600); point your MCP client athttp://[server-ip]:3600/httpwith the Bearer token.
The Unraid template lives in unraid/actual-mcp-server.xml. For the publishing workflow see docs/UNRAID_CA_PUBLISHING.md.
Connect an AI client
LibreChat / LobeChat: add to librechat.yaml (or LobeChat MCP plugin settings):
mcpServers:
actual-mcp:
type: "streamable-http"
url: "http://actual-mcp-server-backend:3600/http"
headers:
Authorization: "Bearer YOUR_TOKEN_HERE"
serverInstructions: true
timeout: 600000See docs/guides/AI_CLIENT_SETUP.md for full LibreChat, LobeChat, network, and HTTPS/TLS proxy setup.
Claude Desktop via HTTP (when the server is already running as a Docker container):
{
"mcpServers": {
"actual-budget": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"http://localhost:3600/http",
"--header",
"Authorization: Bearer YOUR_TOKEN_HERE"
]
}
}
}Claude Desktop via stdio (native, no HTTP server needed; see Option D above):
{
"mcpServers": {
"actual-budget": {
"command": "node",
"args": ["/absolute/path/to/actual-mcp-server/dist/src/index.js", "--stdio"],
"env": {
"ACTUAL_SERVER_URL": "http://localhost:5006",
"ACTUAL_PASSWORD": "your_password",
"ACTUAL_BUDGET_SYNC_ID": "your-sync-id",
"MCP_BRIDGE_DATA_DIR": "/absolute/path/to/actual-mcp-server/actual-data"
}
}
}
}See docs/guides/MCP_CLIENTS_SETUP.md for all options (including Cursor, VS Code, Gemini CLI), Linux/NVM path fixes, and troubleshooting.
Upgrading
Docker (Option A)
docker pull ghcr.io/agigante80/actual-mcp-server:latest
docker stop actual-mcp-server-backend
docker rm actual-mcp-server-backend
# Re-run the original docker run command with the same flags and volumesAlso available on Docker Hub: docker pull agigante80/actual-mcp-server:latest
Docker Compose (Option B)
docker compose pull
docker compose --profile production up -dnpm / cloned repo (Option C)
git pull
npm install
npm run build
# Then restart the servernpx / stdio (Options C & D)
If you run npx actual-mcp-server without a globally installed version, npx fetches the latest from the registry automatically. But if you previously installed it globally (npm install -g actual-mcp-server), the global install takes precedence, so you must upgrade it explicitly:
# Upgrade the global install
npm install -g actual-mcp-server
# Or force the registry version without touching your global install
npx actual-mcp-server@latest --httpFor Claude Desktop (stdio), restart Claude after upgrading.
Available Tools
71 tools across all categories. All tools use the actual_<category>_<action> naming convention.
Accounts (7)
Tool | Description |
| List all accounts |
| Create new account |
| Update account details |
| Permanently delete account |
| Close account (soft delete) |
| Reopen closed account |
| Get account balance at a date |
Transactions (13)
Standard (6)
Tool | Description |
| Get transactions for an account |
| Filter with advanced criteria |
| Create new transaction(s) |
| Import and reconcile transactions |
| Update a transaction |
| Delete a transaction |
Utility (1)
Tool | Description |
| Summary of uncategorized transactions (totalCount, totalAmount, per-account breakdown); pass |
Exclusive ActualQL-powered (6), unique to this MCP server
Tool | Description |
| Search by month using |
| Find by amount range |
| Search by category name |
| Find by payee/vendor |
| Spending summary grouped by category |
| Top vendors with totals and counts |
Transfers (1)
Tool | Description |
| Create a paired transfer between two accounts (debit + credit linked by |
Note: Use
actual_transfers_createfor any account-to-account movement, notactual_transactions_create. The dedicated tool creates both sides (debit and credit) atomically so the books stay balanced. Limitations: both accounts must exist and be open, andfrom_accountmust differ fromto_account.
Categories (4)
actual_categories_get · actual_categories_create · actual_categories_update · actual_categories_delete
Category Groups (4)
actual_category_groups_get · actual_category_groups_create · actual_category_groups_update · actual_category_groups_delete
Payees (7)
actual_payees_get · actual_payees_common_list · actual_payees_create · actual_payees_update · actual_payees_delete · actual_payees_merge · actual_payee_rules_get
Tags (4)
actual_tags_list · actual_tags_create · actual_tags_update · actual_tags_delete
Tool | Description |
| List all tags (id, tag word, optional color and description) |
| Create or upsert a tag by name; returns the tag UUID |
| Update tag name, color, or description by UUID |
| Soft-delete a tag by UUID |
Notes (2)
actual_notes_get · actual_notes_update
Tool | Description |
| Get the note for any entity (account/category/category-group/payee UUID, or budget-YYYY-MM) |
| Set or clear the note for any entity; validates entity exists or matches budget-YYYY-MM pattern |
Budgets (10)
Tool | Description |
| List all configured budget files |
| Switch active budget (multi-budget) |
| List available budget files |
| List budget months |
| Get budget for a specific month |
| Set category budget amount |
| Transfer amount between categories |
| Enable/disable carryover |
| Hold funds for next month |
| Reset hold status |
Rules (4)
actual_rules_get · actual_rules_create · actual_rules_update · actual_rules_delete
Advanced Query & Sync (2)
Tool | Description |
| Execute custom ActualQL query |
| Trigger bank sync (GoCardless/SimpleFIN) |
Batch Operations (1)
actual_budget_updates_batch: batch multiple budget updates in one call
Server Information & Lookup (4)
Tool | Description |
| Server status, version, build info |
| Actual Budget server version |
| Resolve an exact name → UUID for accounts, categories, payees |
| Find accounts/categories/payees by a name pattern (contains/startsWith/endsWith/exact/fuzzy). Fixes "payee not found" from a partial or mistyped name |
Session Management (2)
actual_session_list · actual_session_close
Not Yet Implemented
Scheduled/recurring transactions (
getSchedules,createSchedule,updateSchedule,deleteSchedule)
Configuration
All configuration is via environment variables. Copy .env.example to .env to get started.
Complete Environment Variables Reference
Variable | Default | Required | Description |
Actual Budget Connection | |||
| (none) | Yes | URL of your Actual Budget server. Use the same URL you type in your browser: |
| (none) | Yes | Password for Actual Budget server |
| (none) | Yes | Budget Sync ID from Actual (Settings then Sync ID) |
| (none) | No | Optional encryption password for encrypted budgets |
|
| No | Allow an |
MCP Server Settings | |||
|
| No | Port for MCP server to listen on |
|
| No | Host address to bind server to ( |
|
| No | Directory to store Actual Budget local data (SQLite). Required to be a persistent path. The |
| auto-detected | No | Public hostname/IP for server (shown in logs) |
| auto-detected | No | Public scheme ( |
|
| No | Set to |
Transport Configuration | |||
|
| No | Transport mode. Only |
|
| No | HTTP endpoint routing path |
| same as | No | Advertised HTTP path shown to clients (set when a reverse proxy rewrites the path) |
|
| No | Maximum accepted JSON-RPC request body size (e.g. |
Session Management | |||
|
| No | Enable session-based connection pooling |
|
| No | Maximum concurrent MCP sessions allowed |
|
| No | Minutes before idle session cleanup |
Security & Authentication | |||
|
| No | Auth mode: |
| (none) | No | Static Bearer token ( |
|
| No | Opt-out for required-by-default HTTP auth (#242). On a non-loopback bind with no token and no OIDC the server refuses to start; set to |
| (none) | If OIDC | OIDC issuer URL (e.g., |
|
| No | Allow a plaintext (http) OIDC issuer on a trusted network (#244). Off by default (http issuer refused at startup); set |
| (none) | No | Expected |
| (none) | No | Extra accepted |
| (none) | No | Comma-separated required scopes; leave empty for Casdoor |
| (none) | No | Per-user budget ACL; see AI Client Setup |
|
| No | Enable native TLS. Requires |
| (none) | No | Path to PEM certificate file (required when |
| (none) | No | Path to PEM private key file (required when |
Logging Configuration | |||
|
| No | Enable file logging (vs console only) |
|
| No | Directory for log files (if |
|
| No | Log level: |
| auto | No | Log output format: |
|
| No | Service name stamped on every structured (json) log record |
Log Rotation (when | |||
|
| No | Keep rotated logs for N days (e.g., |
|
| No | Rotate when file reaches size (e.g., |
|
| No | Date pattern for rotated log filenames |
Development & Debugging | |||
| (none) | No | Enable debug mode (verbose logging) when set to any truthy value |
| (none) | No | Debug-detection toggle: set to |
|
| No | Enable transport-level debug logging |
Advanced/Internal | |||
|
| No | Max concurrent Actual API operations |
| (none) / | No | Node environment. No app default; the Docker image sets |
| auto-detected | No | Server version (auto-set by build/Docker) |
|
| No | Timezone for timestamps (e.g., |
Multi-Budget Switching
Configure multiple Actual Budget files so the AI can switch between them at runtime using actual_budgets_list_available and actual_budgets_switch.
BUDGET_N_SERVER_URL and BUDGET_N_PASSWORD fall back to ACTUAL_SERVER_URL / ACTUAL_PASSWORD when omitted.
Variable | Required | Fallback |
| No |
|
| Yes (enables group) | (none) |
| Yes | (none) |
| No |
|
| No |
|
| No | (none) |
# Default budget
ACTUAL_SERVER_URL=http://actual:5006
ACTUAL_PASSWORD=my-password
ACTUAL_BUDGET_SYNC_ID=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa
BUDGET_DEFAULT_NAME=Personal
# Budget 1 (same server, same password)
BUDGET_1_NAME=Family
BUDGET_1_SYNC_ID=bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb
# Budget 2 (different server)
BUDGET_2_NAME=Business
BUDGET_2_SERVER_URL=https://actual-office.example.com
BUDGET_2_PASSWORD=office-password
BUDGET_2_SYNC_ID=cccccccc-cccc-cccc-cccc-ccccccccccccTransport & Authentication
The server supports two transport modes:
Mode | Flag | Use case | Auth |
HTTP |
| LibreChat, LobeChat, Docker, multi-user deployments | Bearer token or OIDC |
stdio |
| Claude Desktop, Cursor, local single-user use | None (OS process isolation) |
The two modes are mutually exclusive. Pass exactly one flag when starting the server.
stdio transport
stdio is the simplest way to connect Claude Desktop directly to Actual Budget. The MCP server runs as a child process; Claude Desktop spawns it, communicates over stdin/stdout using NDJSON (the MCP wire format), and the process exits cleanly when Claude Desktop closes.
Key properties of stdio mode:
No network port. The transport is a pipe, not a socket.
No auth token. Process ownership is the security boundary.
All logs go to stderr so they never corrupt the JSON-RPC framing on stdout
The process exits when stdin closes (Claude Desktop shutting down)
All 71 tools are available, identical to HTTP mode
Start manually to verify:
cd /path/to/actual-mcp-server
ACTUAL_SERVER_URL=http://localhost:5006 \
ACTUAL_PASSWORD=your_password \
ACTUAL_BUDGET_SYNC_ID=your-sync-id \
node dist/src/index.js --stdioSend a test request (keep stdin open with sleep):
{ echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}'; sleep 5; } \
| ACTUAL_SERVER_URL=http://localhost:5006 ACTUAL_PASSWORD=your_password ACTUAL_BUDGET_SYNC_ID=your-sync-id \
node dist/src/index.js --stdio 2>/dev/nullClaude Desktop config (claude_desktop_config.json):
{
"mcpServers": {
"actual-budget": {
"command": "node",
"args": ["/absolute/path/to/actual-mcp-server/dist/src/index.js", "--stdio"],
"env": {
"ACTUAL_SERVER_URL": "http://localhost:5006",
"ACTUAL_PASSWORD": "your_actual_password",
"ACTUAL_BUDGET_SYNC_ID": "your-sync-id-here",
"MCP_BRIDGE_DATA_DIR": "/absolute/path/to/actual-mcp-server/actual-data"
}
}
}
}Path must be absolute. Claude Desktop does not inherit shell
PATH, sonodemust also be absolute if you use NVM or a non-standard install:/home/youruser/.nvm/versions/node/v22.x.x/bin/node.
See docs/guides/MCP_CLIENTS_SETUP.md for all connection options (stdio native, mcp-remote via HTTP/HTTPS), other clients (Cursor, VS Code, Gemini CLI, Claude Code), Linux path fixes, and troubleshooting.
HTTP transport
HTTP transport uses the /http endpoint (StreamableHTTP) with optional Bearer token or OIDC authentication.
Static Bearer token (single-user)
# Generate a token
openssl rand -hex 32
# Add to .env
MCP_SSE_AUTHORIZATION=your_token_hereClients send: Authorization: Bearer your_token_here
OIDC (multi-user)
AUTH_PROVIDER=oidc
OIDC_ISSUER=https://sso.yourdomain.com
OIDC_RESOURCE=your-client-id # must match 'aud' JWT claim
OIDC_SCOPES= # leave empty for CasdoorSee AI Client Setup, OIDC for AUTH_BUDGET_ACL format and Casdoor notes.
Testing
Command | What It Tests | Requires Live Server |
| TypeScript compilation | No |
| 71-tool smoke, schema validation, auth ACL | No |
| Adapter, retry logic, concurrency | No |
| MCP protocol compliance (Playwright) | No |
| Full stack integration | Yes (Docker) |
| Live server sanity checks | Yes |
| Full live integration suite | Yes |
Integration test levels (tests/manual/): sanity → smoke → normal → extended → full → cleanup
See tests/manual/README.md and tests/e2e/README.md for details.
Documentation
Document | Contents |
Start here to connect Claude Desktop, Cursor, VS Code (Copilot), Gemini CLI, or Claude Code | |
LibreChat & LobeChat setup, Docker networking, HTTPS/TLS proxy, OIDC | |
Docker, Docker Compose profiles, production config, Kubernetes | |
Component layers, data flow, transport protocols | |
Auth models, threat model, hardening | |
Test strategy, coverage, reliability patterns | |
Step-by-step guide for adding a new MCP tool | |
Development setup, code standards, PR process | |
Fully annotated environment variable reference |
Contributing
Contributions are welcome! See CONTRIBUTING.md for development setup, code standards, and the PR process.
Quick flow:
Fork →
git checkout -b feature/my-featureMake changes + add tests
npm run build && npm run test:unit-jsmust passOpen a Pull Request
Architecture
Runtime: Node.js 22 (Alpine Linux in Docker)
Language: TypeScript (ESM, NodeNext module resolution)
MCP SDK:
@modelcontextprotocol/sdkActual API:
@actual-app/apiValidation: Zod (runtime types + JSON Schema for tool inputs)
Transports: Express + StreamableHTTP (
--http) ·StdioServerTransport(--stdio)Logging: Winston with daily rotation (all output routed to stderr in stdio mode)
Every Actual API call goes through the withActualApi() wrapper in src/lib/actual-adapter.ts, which handles init/shutdown lifecycle, retry (3 attempts, exponential backoff), and concurrency limiting. See docs/ARCHITECTURE.md for full design documentation.
License
MIT. See LICENSE for details.
Acknowledgments
Actual Budget: open-source budgeting software
Model Context Protocol: standardised AI-app integration
LibreChat: open-source ChatGPT alternative
s-stefanov/actual-mcp: original adapter pattern
Disclaimer
This project started as a personal learning exercise to explore the Model Context Protocol technology. It is an independent open-source project, not affiliated with, endorsed by, or supported by Actual Budget or any other organisation.
The software is provided as-is, without warranty of any kind. The author accepts no responsibility for how it is used, for any data loss, financial errors, or other consequences arising from its use. If you connect it to real financial data, you do so entirely at your own risk.
Support
GitHub Issues: bug reports and feature requests
GitHub Discussions: questions and ideas
Version: 0.7.11 | Tool Count: 71 (verified LibreChat-compatible)
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.
Latest Blog Posts
- 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/agigante80/actual-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server