Argos-MCP
Provides database access to MariaDB databases through the MySQL-compatible adapter, including query execution and schema inspection.
Provides database access to MySQL databases, including query execution and schema inspection.
Provides database access to PostgreSQL databases, including query execution, schema inspection, and SSH tunneling.
Provides database access to SQLite databases, including query execution and schema inspection.
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., "@Argos-MCPShow me the top 10 customers by revenue this quarter"
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.
Argos-MCP
A hundred eyes on your databases, and none of them blink.
Argos Panoptes (Ἄργος Πανόπτης) is the giant of Greek myth with a hundred eyes, set by Hera to guard Io. Only some of his eyes slept at a time, so he was never fully asleep and nothing passed him unseen. Panoptes means "all-seeing".
Argos-MCP connects Claude Code to PostgreSQL, MySQL, SQLite, and SQL Server with strong security defaults, per-query auditing, and multi-database support. Every query is watched, and nothing reaches your data unlogged.
Status: pre-release. Argos-MCP is not yet published to npm, and the publish step in the release workflow is deliberately dormant. The source is public on GitHub, so install from source (see Quick start). Any
npm install -g argos-mcpcommand you find elsewhere will not resolve yet.
Why Argos-MCP?
Security First
SELECT-Only Mode - Production-safe read-only database access
Query Validation - Bound parameters, stacked statements refused, comment- and literal-aware parsing, complexity limits
SSH Tunneling - Secure encrypted connections through bastion hosts
Audit Logging - One record per query: database, statement hash, duration, outcome, never the values
High Performance
Connection Pooling - Efficient database connection management
Schema Caching - Captured once per database, reused for the session
Query Optimization - Built-in performance analysis and recommendations
Batch Operations - Execute multiple queries with transaction support
Universal Database Support
PostgreSQL - Full support including advanced features
MySQL/MariaDB - Via mysql2, including Azure Database for MySQL/MariaDB
SQLite - Perfect for development and small applications
SQL Server - Enterprise-grade Microsoft SQL Server support
Developer Experience
One-command install - Registers with Claude Code via the native
claude mcp addTypeScript Native - Full type safety and IntelliSense support
Comprehensive Docs - Detailed guides, tutorials, and API reference
Extensive Testing - Unit and integration suites, plus mutation testing on the security-critical paths
Related MCP server: MCP Database Server
Quick start
Requirements: Node.js >= 22 and the Claude Code CLI.
1. Build
git clone https://github.com/AraneaDev/Argos-MCP.git
cd Argos-MCP
npm install
npm run build2. Configure databases
npm run setupInteractive wizard for adding database connections, security settings, and SSH tunnels. It writes a config.ini, by convention at ~/.config/argos/config.ini, though any path works. You can also add databases at runtime with the sql_add_database tool.
3. Register with Claude Code
claude mcp add argos --scope user -- \
node "$(pwd)/dist/index.js" --config "$HOME/.config/argos/config.ini"Scopes:
Scope | Flag | Where it lives | Use when |
User |
|
| You want Argos in every project (most common) |
Project |
|
| You want to share it with your team via git |
Local | (default) | Per-project, private | You're just trying it out |
4. Verify
claude mcp listYou should see argos listed as connected. Its tools appear in Claude Code as mcp__argos__sql_query, mcp__argos__sql_get_schema, and so on.
Removing it
claude mcp remove argos --scope userUse cases
Data Analytics & Business Intelligence
"Show me the top 10 customers by revenue this quarter, including their growth rate compared to last quarter"
Production Database Monitoring
"Check the status of our user registration system - how many signups in the last 24 hours and any error patterns?"
Database Administration
"Analyze the performance of our product catalog queries and suggest optimizations"
Development & Testing
"Generate test data scenarios based on our current user demographics"
Architecture
graph TB
Claude[Claude Code] --> MCP[MCP Protocol]
MCP --> Security[Security Layer]
Security --> Connection[Connection Manager]
Connection --> Adapters[Database Adapters]
Adapters --> PostgreSQL[(PostgreSQL)]
Adapters --> MySQL[(MySQL)]
Adapters --> SQLite[(SQLite)]
Adapters --> MSSQL[(SQL Server)]
Security --> SSH[SSH Tunneling]
SSH --> Bastion[Bastion Host]
Bastion --> RemoteDB[(Remote Database)]Built on solid foundations:
TypeScript - Full type safety and modern development experience
Node.js - Cross-platform compatibility and excellent ecosystem
MCP Protocol - Standard protocol for AI tool integration
Industry-standard drivers - Proven database connectivity libraries
Documentation hub
Getting Started
5-Minute Quick Start - Get running fast
Installation Guide - Detailed setup instructions
First Database Tutorial - Connect your first database
Claude Integration - Register with Claude Code
Architecture & Design
System Architecture - How it all works together
Security Architecture - Defense-in-depth security model
Database Layer - Adapter pattern implementation
API Reference
MCP Tools Reference - Complete tool documentation
TypeScript API - Developer API reference
Configuration Reference - All configuration options
Advanced Guides
Multi-Database Setup - Managing multiple databases
SSH Tunneling - Secure remote access
Security Hardening - Production security guide
Performance Tuning - Optimization strategies
Configuration examples
Production PostgreSQL with SSH
[database.production]
type=postgresql
host=internal-db.company.local
port=5432
database=production_app
username=readonly_user
password=secure_random_password
ssl=true
select_only=true
timeout=15000
# SSH Tunnel Configuration
ssh_host=bastion.company.com
ssh_port=22
ssh_username=tunnel_user
ssh_private_key=/secure/path/ssh_key
# Required: without a pinned fingerprint the tunnel refuses to connect, rather
# than trusting whatever host key it is offered. Get it from the bastion with
# ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub
ssh_host_fingerprint=SHA256:47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU
[security]
max_joins=5
max_subqueries=3
max_complexity_score=50Multi-Database Analytics Setup
[database.transactions]
type=postgresql
host=transactions-db.company.com
database=transactions
select_only=true
[database.users]
type=mysql
host=users-db.company.com
database=users
select_only=true
[database.analytics]
type=sqlite
file=./data/analytics.sqlite
select_only=false
[database.local_cache]
type=sqlite
file=./data/cache.sqlite
select_only=false
mcp_configurable=true
[extension]
max_rows=1000
query_timeout=30000Security features
Multi-Layer Security Model
Query Validation - SQL injection prevention and syntax analysis
Complexity Limits - Prevent resource-intensive queries
SELECT-Only Mode - Read-only database access for production safety
Connection Encryption - SSL/TLS and SSH tunnel support
Audit Logging - Comprehensive security event tracking
Field Redaction - Automatic masking of sensitive data in query results
Field Redaction
Automatically mask, replace, or partially obscure sensitive fields (emails, phone numbers, SSNs, etc.) in query results before they reach Claude or other clients. Redaction is configured per-database in config.ini:
[database.production]
type=postgresql
host=prod-db.company.com
database=app_db
username=readonly_user
password=secure_pass
select_only=true
# Field Redaction
redaction_enabled=true
redaction_rules=*email*:partial_mask,*phone*:full_mask,ssn:replace:[PROTECTED]
redaction_case_sensitive=false
redaction_log_access=trueRedaction types:
Type | Example Input | Example Output |
|
|
|
|
|
|
|
|
|
| Regex-based | Custom pattern |
Field patterns: exact match (email), wildcard (*email*), or regex (/^user_.+$/).
What this gives you towards compliance
Argos is not certified against any standard, and no library can be. Compliance is a property of your deployment. What it provides is the controls and the evidence that such a regime asks for:
Read-only enforcement that cannot be relaxed from a session
Field redaction, so protected columns never reach the model
An audit record per query: timestamp, database, statement hash, duration, outcome, with no values and no SQL
Secrets scrubbed from logs and error messages
Owner-only file modes on the log, the audit records and the configuration
Dynamic database management
Argos-MCP supports runtime database management through dedicated MCP tools. This allows you to add, update, and remove database connections without restarting the server.
Available MCP Tools
Tool | Description | Requirements |
| Add new database connections at runtime via MCP | None |
| Update existing database settings via MCP |
|
| Remove database connections via MCP |
|
| View database configuration (passwords are automatically redacted) | None |
| Lock a database from MCP changes | One-way operation: can only lock ( |
Usage Notes
Set
mcp_configurable=truein your database config to allow MCP-driven updates and removal.The
sql_set_mcp_configurabletool is a one-way lock: once set tofalse, the database can no longer be modified or removed via MCP. Unlocking requires a manual edit to the configuration file.The
sql_get_configtool always redacts passwords and other sensitive fields before returning configuration data.Databases added at runtime via
sql_add_databasehavemcp_configurable=trueby default, and are alwaysselect_only=true. Granting write access requires editingconfig.iniby hand, so the model cannot grant it to itself.
Performance
Query time is your database's, not Argos's. It adds validation and formatting
around a normal client connection. sql_get_metrics reports the latency it
actually observed (min, max, avg, p95), and sql_analyze_performance returns the
execution plan with dialect-specific advice when something is slow.
Performance Features
Connection Pooling - Reuse database connections efficiently
Schema Caching - Instant metadata access after initial capture
Query Optimization - Built-in EXPLAIN plan analysis
Result Streaming - Handle large datasets efficiently
Batch Operations - Execute multiple queries optimally
CLI commands
Command | Description |
| Start the Argos MCP server on stdio (this is what Claude Code invokes) |
| Run the interactive configuration wizard |
Both are exposed as bin entries, so npm link (or a global install) makes them available on your PATH. Registration with Claude Code is handled by claude mcp add, see Quick start.
Development
Development Setup
git clone https://github.com/AraneaDev/Argos-MCP.git
cd Argos-MCP
npm install
npm run dev
npm testArchitecture gate
knossos.json declares the layers of this codebase and the dependency rules
between them, and the Architecture workflow enforces those rules on every pull
request. The layers run from types at the bottom, through utils, adapters
and domain, up to mcp-tools, with setup-cli off to the side; a lower layer
may never depend on a higher one. Adding an import that breaks a rule fails CI
with the offending file and line.
The workflow also runs a budget check that compares each commit against a reviewed baseline and fails on regressions such as a new dependency cycle. That half stays dormant until you adopt a baseline:
Open the latest
Architecturerun onmainand download theknossos-architectureartifact.Read
scan.jsonand take itssnapshot_id.Save it as the
KNOSSOS_BASELINE_SNAPSHOTrepository variable.
Re-adopt a newer snapshot when a deliberate architectural change makes the old baseline meaningless. Never move it just to make a red pull request go green.
The scan reports several thousand error diagnostics for the tests tree. That
is a side effect of tsconfig.json excluding tests, which leaves the analyzer
type-checking those files without the Jest globals. npm run type-check is the
authority on whether this repository compiles, and the architecture budgets
deliberately do not gate on the diagnostic count.
License
Released under the MIT License, free for any use, commercial included, with no warranty. It speaks any MCP client, not just Claude Code, and connects to databases you already run.
Acknowledgments
Built With
TypeScript - Language and tooling
Node.js - Runtime platform
Jest - Testing framework
ESLint - Code quality
MCP Protocol - AI integration standard
Special Thanks
Anthropic - For Claude AI and MCP protocol
TypeScript Team - For excellent tooling
Database Driver Maintainers - For reliable connectivity libraries
Get Started Now | Documentation
Transform your database interactions with AI-powered SQL intelligence
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
- FlicenseNot gradedqualityDmaintenanceProvides Claude Desktop with secure access to multiple database connections, allowing users to query MySQL, PostgreSQL, SQLite, and SQL Server databases directly through natural language.
- AlicenseNot gradedqualityDmaintenanceProvides Claude with direct access to databases including SQLite, SQL Server, PostgreSQL, and MySQL, enabling execution of SQL queries and table management through natural language.8061MIT
- AlicenseNot gradedqualityDmaintenanceEnables Claude to connect to and interact with SQLite, SQL Server, PostgreSQL, and MySQL databases through natural language. Supports executing queries, managing tables, exporting data, and storing business insights with authentication options including AWS IAM.806MIT
- AlicenseNot gradedqualityDmaintenanceEnables Claude Desktop to interact with MySQL databases through secure query execution, schema discovery, and multi-database support with configurable read/write permissions and built-in SQL injection protection.121MIT
Related MCP Connectors
Query PostgreSQL databases in plain English — LLM-generated, safety-validated SQL.
Read-only bank access for your AI agent. Connects Claude, ChatGPT, Cursor, Gemini, Codex.
Connect your team's living knowledge base — docs, data, issues, CRM — to Claude and ChatGPT.
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/AraneaDev/Argos-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server