indiekit-mcp
Officialby indiekitai
README.md
[English](README.md) | [δΈζ](README.zh-CN.md)
# @indiekitai/mcp
Unified MCP server that auto-discovers and exposes all [IndieKit](https://github.com/indiekitai) tools through a single endpoint.
One config, all tools.
## Quick Setup
**Claude Desktop / Cursor:**
```json
{
"mcpServers": {
"indiekit": {
"command": "npx",
"args": ["@indiekitai/mcp"]
}
}
}
```
Or generate the config:
```bash
npx @indiekitai/mcp --config
```
## Available Tools (16)
### π PostgreSQL
| Tool | Package | Description |
|------|---------|-------------|
| `pg_inspect_schema` | @indiekitai/pg-inspect | Inspect database schema β tables, columns, indexes, constraints |
| `pg_diff_schemas` | @indiekitai/pg-diff | Compare two databases and return migration SQL |
| `pg_diff_summary` | @indiekitai/pg-diff | Human-readable diff summary |
| `pg_top_activity` | @indiekitai/pg-top | Current pg_stat_activity |
| `pg_top_stats` | @indiekitai/pg-top | Database statistics (connections, cache hit, TPS) |
| `pg_top_locks` | @indiekitai/pg-top | Current lock information |
### β‘ Development
| Tool | Package | Description |
|------|---------|-------------|
| `just_list_recipes` | @indiekitai/just | List justfile recipes |
| `just_run_recipe` | @indiekitai/just | Execute a justfile recipe |
| `just_parse_justfile` | @indiekitai/just | Parse justfile to AST |
| `throttled_check_rate` | @indiekitai/throttled | Check rate limit status |
| `throttled_get_status` | @indiekitai/throttled | Get rate limit state without consuming quota |
| `env_audit_scan` | @indiekitai/env-audit | Scan project for environment variables |
| `llm_context_scan` | @indiekitai/llm-context | Count tokens for LLM context estimation |
### π¨ Terminal UI
| Tool | Package | Description |
|------|---------|-------------|
| `lipgloss_style_render` | @indiekitai/lipgloss | Render styled terminal text |
| `lipgloss_join_horizontal` | @indiekitai/lipgloss | Join text blocks horizontally |
| `lipgloss_join_vertical` | @indiekitai/lipgloss | Join text blocks vertically |
## CLI
```bash
npx @indiekitai/mcp # Start MCP server (stdio)
npx @indiekitai/mcp --list # List all tools
npx @indiekitai/mcp --config # Claude Desktop config JSON
```
## Auto-Discovery
The server automatically discovers additional tools from installed `@indiekitai/*` packages that export MCP tool definitions:
1. Scans `node_modules/@indiekitai/*/package.json`
2. Checks for `exports["./mcp"]` or `indiekit.mcp: true` in package.json
3. Dynamically imports and registers discovered tools
### Adding Tools to Your Package
Export a `getTools()` function from your package's MCP module:
```typescript
// src/mcp.ts
import type { ToolDefinition } from '@indiekitai/mcp';
export function getTools(): ToolDefinition[] {
return [{
name: 'my_tool',
description: 'Does something useful',
package: '@indiekitai/my-package',
mode: 'direct',
inputSchema: {
type: 'object',
properties: {
input: { type: 'string', description: 'Input value' },
},
required: ['input'],
},
handler: async (params) => {
// Tool implementation
return { result: 'done' };
},
}];
}
```
Then add to your `package.json`:
```json
{
"exports": {
"./mcp": "./dist/mcp.js"
}
}
```
## License
MIT
TDQS
A3.8/5.0
Scored across 1 tool
Disambiguation5/5
With only one tool, there is no risk of confusion between tools. The tool's purpose of inspecting PostgreSQL schema is clearly stated and distinct.
Naming Consistency5/5
The single tool name 'pg_inspect_schema' follows a clear and consistent pattern (verb_noun) and is descriptive, so no inconsistency issues arise.
Tool Count3/5
Only one tool is provided, which is below the typical well-scoped range of 3-15. While the tool itself is comprehensive, the server's scope feels very narrow, making it borderline appropriate.
Completeness5/5
The tool covers all major aspects of database schema inspection (tables, columns, types, indexes, constraints, enums, extensions), leaving no obvious gaps for its stated purpose.
Maintenance
ActivityInactive
ResponsivenessNo issues