archery-mcp-server
v1.0.4
Published
MCP server for Archery SQL audit platform
Maintainers
Readme
Archery MCP Server
MCP server for Archery SQL audit platform. This server allows AI assistants like Claude to interact with Archery for SQL query execution, syntax checking, and workflow management.
Installation
No installation required! Use npx to run directly:
npx archery-mcp-serverConfiguration
Set the following environment variables:
| Variable | Required | Description |
|----------|----------|-------------|
| ARCHERY_URL | Yes | Archery base URL (e.g., http://archery.company.com) |
| ARCHERY_USERNAME | Yes | Username for Archery authentication |
| ARCHERY_PASSWORD | Yes | Password for Archery authentication |
Claude Code Configuration
Add this to your Claude Code MCP settings:
{
"mcpServers": {
"archery-sql": {
"type": "stdio",
"command": "cmd",
"args": ["/c", "npx", "-y", "archery-mcp-server"],
"env": {
"ARCHERY_URL": "http://your-archery-url",
"ARCHERY_USERNAME": "your-username",
"ARCHERY_PASSWORD": "your-password"
}
}
}
}Available Tools
get_instances
Get list of database instances registered in Archery.
Parameters:
db_type(optional): Filter by database type (mysql, mssql, oracle, pgsql, redis, mongo, etc.)
get_databases
Get list of databases for a specific instance.
Parameters:
instance_name(required): Name of the database instance (from get_instances)
query_execute
Execute a read-only SQL query (SELECT only).
Parameters:
sql_content(required): SQL SELECT statement to executeinstance_name(required): Target instance name (from get_instances)db_name(required): Target database name (from get_databases)limit(default: 100): Maximum rows to return (max: 1000)
Important: Only SELECT queries are allowed for safety.
sql_check
Check SQL syntax and get optimization suggestions.
Parameters:
sql_content(required): SQL statement to checkinstance_name(required): Target instance namedb_name(optional): Target database name
get_workflow_list
Get list of SQL workflows/tickets.
Parameters:
status(optional): Filter by status (pending, executing, finished, rejected, etc.)start_date(optional): Start date filter (YYYY-MM-DD format)end_date(optional): End date filter (YYYY-MM-DD format)limit(default: 50): Maximum workflows to return
get_workflow_detail
Get details of a specific workflow/ticket.
Parameters:
workflow_id(required): Workflow ID (from get_workflow_list)
get_query_history
Get SQL query execution history.
Parameters:
instance_name(optional): Filter by instance namedb_name(optional): Filter by database namelimit(default: 50): Maximum records to return
get_resource_groups
Get list of available resource groups for workflow submission.
No parameters required.
get_group_instances
Get instances available for a specific resource group.
Parameters:
group_name(required): Resource group name (from get_resource_groups)
check_sql
Check SQL syntax and get audit result before submitting workflow.
Parameters:
instance_name(required): Instance name (from get_group_instances)db_name(required): Target database namesql_content(required): SQL content to check (DDL/DML)group_name(default: "TiDB"): Resource group name
Example Usage
Once configured, you can ask Claude to:
- "List all MySQL instances in Archery"
- "Show me databases in the prod-mysql instance"
- "Run a query to find recent orders in the order_db database"
- "Check if this ALTER TABLE statement is safe"
- "Submit this DDL change for review"
Development
# Install dependencies
npm install
# Build
npm run build
# Run in development mode
npm run devLicense
MIT
