A collection of Model Context Protocol (MCP) servers developed by Arvore for seamless integration with AI assistants like Claude.
This monorepo contains the following MCP servers:
Manage AWS Secrets Manager secrets directly from your AI assistant.
Features:
- Create, read, update, and delete secrets
- List all secrets in your account
- Describe secret metadata
Query and analyze Datadog monitoring data.
Features:
- Query metrics and time series data
- Search logs
- Get service maps and APM data
- List hosts and active metrics
- Search traces
Execute read-only MySQL queries safely.
Features:
- Execute SELECT queries
- List tables in database
- Read-only operations for safety
Execute read-only PostgreSQL queries safely.
Features:
- Execute SELECT queries
- List tables, schemas, and databases
- Describe table structure
- Full schema support
- Read-only operations for safety
Execute read-only ClickHouse queries safely.
Features:
- Execute SELECT queries
- List tables and databases
- Describe table structure (columns, types, keys)
- Read-only operations for safety
Search and get information about npm packages.
Features:
- Get package information and metadata
- Get download statistics
- Search packages by query
Manage LaunchDarkly feature flags directly from your AI assistant.
Features:
- List, search, create, and delete feature flags
- Toggle flags ON/OFF per environment
- Add targeting rules (in, contains, segmentMatch, etc.)
- List and inspect segments
- Multi-environment support (production, test, etc.)
Self-hosted temporary email server with SMTP + SQLite.
Features:
- Built-in SMTP server to receive real emails
- Create and manage temporary email accounts
- Read, list, and delete emails
- SQLite storage β no third-party dependencies
- Configurable domain via AWS Route 53
Google Chat integration for managing spaces, members, and messages.
Features:
- List and inspect Google Chat spaces
- List space members
- Read message history with filtering and pagination
- Send messages (with thread support)
- Delete messages
- Service account JWT auth (no external dependencies)
- Domain-wide delegation for full user-level access
Gmail integration β read, send, and manage messages with OAuth user flow.
Features:
- Search messages with full Gmail query syntax (
from:,is:unread,newer_than:, etc.) - Read messages and full threads with parsed headers and body
- Create drafts (always available, even with sending disabled)
- Send mail and reply with proper threading (
In-Reply-To,References,threadId) - Modify labels (mark read, archive, star, trash)
- OAuth Desktop client flow with browser-based login
- Encrypted token storage (AES-256-GCM + macOS keychain)
- Send-mode opt-in via
GMAIL_MCP_ALLOW_SENDto prevent accidental sends
Team memory β persistent knowledge base with semantic search for AI-assisted development.
Features:
- Semantic search across team memories using local embeddings
- Multilingual support (Portuguese + English) via
paraphrase-multilingual-MiniLM-L12-v2 - Categories: decisions, conventions, incidents, domain, gotchas
- Create, archive, and remove memories via MCP tools
- Embedding cache for fast startup
- Keyword fallback when embeddings are unavailable
Runtime Lens β Runtime inspection with inline values for React, NestJS and Next.js. Two components in one package: a VS Code/Cursor/Kiro extension with inline value display and an MCP server for AI-assisted debugging.
Features:
- Inline runtime values displayed in the editor
- Runtime agent injected via
--requirethat patchesconsole.log/warn/error/debug - WebSocket-based communication between agent and extension
- 14 MCP tools for AI-assisted debugging: log tailing, regex search, error inspection, HTTP request inspection, performance metrics, and more
- Framework detection for React, NestJS, and Next.js
- Real-time console capture with start/stop control
- Permanent setup via
~/.zshrcβ no need to inject every session
Semantic search across meeting transcriptions generated by Meet Transcriber.
Features:
- Semantic search using local multilingual embeddings (paraphrase-multilingual-MiniLM-L12-v2)
- LanceDB vector store with keyword fallback
- Filter by speaker
- List and retrieve full transcription content
- Reads
.mdfiles from~/Documents/meet-transcriptions/by default
Manage SendGrid Dynamic Templates directly from your AI assistant.
Features:
- List, create, update, and delete dynamic templates
- Create and manage template versions (HTML content, subject, plain text)
- Activate specific template versions
- Full CRUD for templates and versions via SendGrid API v3
Polling/waiting primitives β repeatedly check conditions until they're met or time out.
Features:
- Execute shell commands until output matches a condition
- Poll HTTP endpoints until they return expected status/body
- Watch filesystem until files exist, disappear, or contain content
- Call any other MCP server's tool and poll until the result matches (auto-discovers from mcp.json)
- Configurable interval, timeout, and match conditions
MCP Proxy Gateway β consolidates N upstream MCP servers behind 2 tools.
Features:
- Exposes only
mcp_searchandmcp_callto the agent - Semantic search using multilingual embeddings (paraphrase-multilingual-MiniLM-L12-v2)
- Hybrid ranking: BM25 lexical + cosine similarity
- Output shaping: strips redundant fields, truncates text, assigns short refs
- Cursor-based pagination with TTL
- Supports stdio and HTTP transports with env var expansion
Agent Teams Lead β spawn and coordinate multiple AI agent sessions working together as a team. Inspired by Anthropic's agent teams for Claude Code, built as an editor-agnostic MCP layer.
Features:
- Spawn teammates as independent CLI processes (Kiro, Cursor, Claude Code, OpenCode)
- Shared task list with dependencies and exclusive file paths
- Inter-agent messaging (direct, broadcast, or to lead)
- Atomic
mkdir-based file locking for safe parallel task claiming - Audit log in
.agent-teams/team.log
Agent Teams Teammate β MCP injected into each teammate session for claiming tasks, messaging, and publishing artifacts.
Features:
- Claim pending tasks with dependency and lock validation
- Communicate with other teammates and the lead
- Publish artifacts (markdown, JSON, or code) linked to tasks
- Automatically injected by the lead β no manual configuration needed
Agent Teams Chat β cross-developer agent communication via Slack threads. Enables AI agents from different developers to communicate asynchronously through a shared Slack channel.
Features:
- Open conversation threads in a team Slack channel
- Reply to existing threads
- Read thread messages and catch up on conversations
- List recent threads with reply counts and participants
- Search threads by topic or content
- Configurable message format using handlebars-style templates
Agent Teams UI β TUI dashboard for monitoring agent teams in real time. Watches .agent-teams/ and auto-refreshes.
Features:
- Team view with per-teammate task counts and current activity
- Kanban board with task selection and detail view
- WhatsApp-style message view with date separators and sender grouping
- Chat view showing agent stdout as conversation, filterable by agent
- Live timer, progress bar, and new-activity indicators per tab
- Auto-refresh via filesystem watching (chokidar)
Persistent kanban boards for AI agents β manage tasks across sessions with multi-agent coordination, semantic search, and a Linear-style web UI.
Features:
- 12 MCP tools for board and card management
- Multi-session: claim/release cards with session tracking across parallel chats
- Semantic search via LanceDB with multilingual embeddings
- Subtasks via
parent_card_id - Optional web UI (Linear-style dark theme with drag-and-drop, hotkeys, context menus)
- JSON persistence with atomic writes
- Re-read from disk for multi-process visibility
Interact with Metabase BI platform directly from your AI assistant.
Features:
- CRUD for cards (questions), dashboards, and collections
- List databases and tables
- Execute native SQL queries
- Run saved card queries
- Add cards to dashboards
- Get collection items
Manage Magalu Cloud infrastructure through the MGC CLI.
Features:
- Virtual Machines: list, create, start, stop, reboot, delete
- Object Storage: buckets and objects management
- Networking: VPCs, subnets, public IPs
- Kubernetes: cluster management and kubeconfig retrieval
- Block Storage and DBaaS instance listing
- Semantic search across Magalu developer documentation
- Configurable region via
MGC_REGIONenv var
Control Arc Browser on macOS via a hybrid AppleScript + Chrome DevTools Protocol approach.
Features:
- Tab management: list, open, close, search, focus
- Space management: list, get active, switch
- Screenshots via CDP (viewport or full page)
- Network request capture and console log monitoring
- DOM interaction: click, hover, type, scroll, wait for selector
- JavaScript execution (AppleScript for quick queries, CDP for async/await)
- Cookie inspection and page content extraction
PostHog analytics, feature flags, experiments, and more. Works with both PostHog Cloud and self-hosted instances.
Features:
- HogQL queries and structured queries (Trends, Funnels, Retention, Lifecycle, Paths, Stickiness)
- Feature flags: create, update, list, delete with rollout control
- A/B test experiments with variants and metrics
- Dashboards and saved insights management
- Event and property definitions exploration
- Persons search and cohort management
- Surveys, early access features, and annotations
- Cross-entity search
Advanced Slack integration using user tokens -- messages sent as the authenticated user.
Features:
- Fuzzy user search with disk cache (47k+ users load instantly)
- Smart DM: resolve user by name/email/ID, auto-open DM channel
- Writing style analysis (emoji usage, punctuation, vocabulary, formality)
- Thread extraction from Slack URLs with participant resolution
- Audio transcription via ElevenLabs STT
- Image download and base64 return for model analysis
- Rate limit retry with backoff
Drive a single WhatsApp account from your AI agent using Baileys.
Features:
- Pair via QR code (ASCII in terminal, PNG file, or base64 data URL)
- Send and receive text, images, audio (PTT or normal), video, and documents
- Local SQLite store for chats, messages, and contacts so the agent can recall past conversations
- Brazilian phone number normalization with WhatsApp-side validation
- Set typing presence, mark messages as read, react, edit, and delete
- Single connection β pair one WhatsApp account from your local agent
Install individual packages:
npm install -g @arvoretech/aws-secrets-manager-mcp
npm install -g @arvoretech/datadog-mcp
npm install -g @arvoretech/mysql-mcp
npm install -g @arvoretech/postgresql-mcp
npm install -g @arvoretech/clickhouse-mcp
npm install -g @arvoretech/npm-registry-mcp
npm install -g @arvoretech/launchdarkly-mcp
npm install -g @arvoretech/tempmail-mcp
npm install -g @arvoretech/google-chat-mcp
npm install -g @arvoretech/gmail-mcp
npm install -g @arvoretech/memory-mcp
npm install -g @arvoretech/runtime-lens-mcp
npm install -g @arvoretech/meet-transcriptions-mcp
npm install -g @arvoretech/sendgrid-mcp
npm install -g @arvoretech/await-until-mcp
npm install -g @arvoretech/mcp-proxy
npm install -g @arvoretech/agent-teams-lead-mcp
npm install -g @arvoretech/agent-teams-teammate-mcp
npm install -g @arvoretech/agent-teams-chat-mcp
npm install -g @arvoretech/metabase-mcp
npm install -g @arvoretech/mgc-mcp
npm install -g @arvoretech/kanban-mcp
npm install -g @arvoretech/posthog-mcp
npm install -g @arvoretech/slack-advanced-mcp
npm install -g @arvoretech/whatsapp-mcpOr using pnpm:
pnpm add -g @arvoretech/aws-secrets-manager-mcpAdd to your Claude Desktop configuration file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"aws-secrets-manager": {
"command": "npx",
"args": ["-y", "@arvoretech/aws-secrets-manager-mcp"]
},
"datadog": {
"command": "npx",
"args": ["-y", "@arvoretech/datadog-mcp"],
"env": {
"DATADOG_API_KEY": "your-api-key",
"DATADOG_APP_KEY": "your-app-key",
"DATADOG_SITE": "datadoghq.com"
}
},
"mysql": {
"command": "npx",
"args": ["-y", "@arvoretech/mysql-mcp"],
"env": {
"MYSQL_HOST": "localhost",
"MYSQL_USER": "readonly_user",
"MYSQL_PASSWORD": "password",
"MYSQL_DATABASE": "your_database",
"MYSQL_PORT": "3306"
}
},
"postgresql": {
"command": "npx",
"args": ["-y", "@arvoretech/postgresql-mcp"],
"env": {
"POSTGRESQL_HOST": "localhost",
"POSTGRESQL_PORT": "5432",
"POSTGRESQL_USER": "postgres",
"POSTGRESQL_PASSWORD": "password",
"POSTGRESQL_DATABASE": "your_database",
"POSTGRESQL_SSL": "false"
}
},
"clickhouse": {
"command": "npx",
"args": ["-y", "@arvoretech/clickhouse-mcp"],
"env": {
"CLICKHOUSE_URL": "https://your-host:8443",
"CLICKHOUSE_USER": "default",
"CLICKHOUSE_PASSWORD": "secret",
"CLICKHOUSE_DATABASE": "default"
}
},
"npm-registry": {
"command": "npx",
"args": ["-y", "@arvoretech/npm-registry-mcp"]
},
"launchdarkly": {
"command": "npx",
"args": ["-y", "@arvoretech/launchdarkly-mcp"],
"env": {
"LAUNCHDARKLY_EMAIL": "your-email@example.com",
"LAUNCHDARKLY_PASSWORD": "your-password",
"LAUNCHDARKLY_PROJECT": "default",
"LAUNCHDARKLY_ENVIRONMENT": "production"
}
},
"tempmail": {
"command": "npx",
"args": ["-y", "@arvoretech/tempmail-mcp"],
"env": {
"CLOUDFLARE_ACCOUNT_ID": "your-account-id",
"CLOUDFLARE_D1_DATABASE_ID": "your-database-id",
"CLOUDFLARE_API_TOKEN": "your-api-token",
"TEMPMAIL_DOMAIN": "yourdomain.com"
}
},
"google-chat": {
"command": "npx",
"args": ["-y", "@arvoretech/google-chat-mcp"],
"env": {
"GOOGLE_CHAT_CREDENTIALS_PATH": "/path/to/service-account.json",
"GOOGLE_CHAT_USER_EMAIL": "user@yourdomain.com"
}
},
"gmail": {
"command": "npx",
"args": ["-y", "@arvoretech/gmail-mcp"],
"env": {
"GMAIL_MCP_CLIENT_ID": "your-oauth-client-id",
"GMAIL_MCP_CLIENT_SECRET": "your-oauth-client-secret",
"GMAIL_MCP_ALLOW_SEND": "false"
}
},
"team-memory": {
"command": "npx",
"args": ["-y", "@arvoretech/memory-mcp"],
"env": {
"MEMORY_PATH": "./memories"
}
},
"runtime-lens": {
"command": "npx",
"args": ["-y", "@arvoretech/runtime-lens-mcp"],
"env": {
"RUNTIME_LENS_PROJECT_ROOT": "."
}
},
"meet-transcriptions": {
"command": "npx",
"args": ["-y", "@arvoretech/meet-transcriptions-mcp"]
},
"sendgrid": {
"command": "npx",
"args": ["-y", "@arvoretech/sendgrid-mcp"],
"env": {
"SENDGRID_API_KEY": "SG.your-api-key"
}
},
"await-until": {
"command": "npx",
"args": ["-y", "@arvoretech/await-until-mcp"]
},
"mcp-proxy": {
"command": "node",
"args": ["packages/mcp-proxy/dist/index.js"],
"env": {
"MYSQL_HOST": "localhost",
"MCP_PROXY_UPSTREAMS": "[{\"name\":\"mysql\",\"command\":\"npx\",\"args\":[\"-y\",\"@arvoretech/mysql-mcp\"],\"env\":{\"MYSQL_HOST\":\"${MYSQL_HOST}\"}}]"
}
},
"agent-teams-lead": {
"command": "npx",
"args": ["-y", "@arvoretech/agent-teams-lead-mcp"],
"env": {
"WORKSPACE_PATH": "/path/to/your/workspace"
}
},
"agent-teams-chat": {
"command": "npx",
"args": ["-y", "@arvoretech/agent-teams-chat-mcp"],
"env": {
"SLACK_BOT_TOKEN": "xoxb-your-token",
"SLACK_CHANNEL": "C0123456789",
"AGENT_IDENTITY": "Your Name"
}
},
"metabase": {
"command": "npx",
"args": ["-y", "@arvoretech/metabase-mcp"],
"env": {
"METABASE_URL": "https://your-metabase-instance.com",
"METABASE_API_KEY": "your-api-key"
}
},
"mgc": {
"command": "npx",
"args": ["-y", "@arvoretech/mgc-mcp"],
"env": {
"MGC_REGION": "br-ne1",
"MAGALU_DOCS_DIR": "./magalu-cloud-docs"
}
},
"kanban": {
"command": "npx",
"args": ["-y", "@arvoretech/kanban-mcp"],
"env": {
"KANBAN_PATH": "./kanban",
"KANBAN_UI": "true",
"KANBAN_PORT": "4799"
}
},
"posthog": {
"command": "npx",
"args": ["-y", "@arvoretech/posthog-mcp"],
"env": {
"POSTHOG_BASE_URL": "https://posthog.example.com",
"POSTHOG_API_KEY": "phx_your_personal_api_key"
}
},
"slack-advanced": {
"command": "npx",
"args": ["-y", "@arvoretech/slack-advanced-mcp"],
"env": {
"SLACK_USER_TOKEN": "xoxp-your-user-token",
"ELEVENLABS_API_KEY": "sk_your-elevenlabs-key"
}
},
"whatsapp": {
"command": "npx",
"args": ["-y", "@arvoretech/whatsapp-mcp"],
"env": {
"WHATSAPP_LOG_LEVEL": "warn"
}
}
}
}Note: These packages are published to the public npm registry and can be used directly with npx without any additional configuration.
- Node.js >= 20
- pnpm >= 9
git clone https://github.com/arvoreeducacao/arvore-mcp-servers.git
cd mcp-servers
pnpm installpnpm buildpnpm testpnpm test:covpnpm lintRun a specific package in development mode:
cd packages/aws-secrets-manager
pnpm dev- Create a new directory in
packages/ - Follow the structure of existing packages
- Update the root
README.md - Add package-specific documentation
This monorepo uses GitHub Actions for automatic publishing to npm. Publishing happens in these scenarios:
Only the packages changed in the push are published when code is merged to main (after CI passes). The publish job detects which packages/<name> directories were touched via git diff against the previous commit and runs npm publish only for those. Remember to bump the version in the changed package's package.json before merging, otherwise npm will skip it as already published.
You can manually trigger publishing for a specific package:
- Go to GitHub Actions
- Select "Publish Packages" workflow
- Click "Run workflow"
- Specify package name (e.g.,
@arvoretech/aws-secrets-manager-mcp) - Choose version bump type (
major,minor, orpatch)
To enable automatic publishing, add these secrets to your GitHub repository:
-
NPM_TOKEN: Required for publishing to npm
- Create a token at https://www.npmjs.com/settings/tokens
- Select "Automation" token type
- Add as repository secret in GitHub Settings > Secrets and variables > Actions
-
CODECOV_TOKEN (optional): For coverage reports
- Get from https://codecov.io
- Add as repository secret
If needed, you can publish manually (requires authentication):
# Publish all packages
pnpm -r publish
# Publish specific package
cd packages/aws-secrets-manager
npm publishTo bump versions:
# In a specific package directory
cd packages/aws-secrets-manager
pnpm version patch # or minor, majorContributions are welcome! Please read our contributing guidelines before submitting PRs.
MIT License - see the LICENSE file for details.
For issues and questions, please open an issue on GitHub.
Made with β€οΈ by Arvore Education