loading…
Search for a command to run...
loading…
Transforms Swagger/OpenAPI documented APIs into conversational interfaces, enabling natural language interaction with APIs through an MCP server for use with AI
Transforms Swagger/OpenAPI documented APIs into conversational interfaces, enabling natural language interaction with APIs through an MCP server for use with AI assistants.
Transform Swagger/OpenAPI docs into conversational interfaces. Self-hosted, local-first, AI-powered API exploration.
# Docker (recommended)
git clone https://github.com/techbloom-ai/swaggbot.git
cd swaggbot && cp .env.example .env
# Generate SESSION_SECRET and add LLM API keys
docker-compose up -d
Swaggbot converts any Swagger/OpenAPI documented API into a conversational interface. Built for developers who want to:
GET /users[name=John].id syntax for data extraction┌─────────┐ ┌─────────┐ ┌─────────┐
│ Web UI │ │ MCP │ │ API │
│ Next.js │ │ Server │ │ Clients │
└────┬────┘ └────┬────┘ └────┬────┘
└─────────────┼─────────────┘
▼
┌─────────────────┐
│ Chat Service │ Intent Classification
│ + LLM Provider │ → Curl Generation → Execution
└─────────────────┘
│
┌─────────────┼─────────────┐
▼ ▼ ▼
┌────────┐ ┌─────────┐ ┌──────────┐
│SQLite │ │Workflow │ │ Target │
│(Local) │ │ Engine │ │ API │
└────────┘ └─────────┘ └──────────┘
# 1. Clone and configure
git clone https://github.com/techbloom-ai/swaggbot.git
cd swaggbot
cp .env.example .env
# 2. Set SESSION_SECRET (required for auth)
# Linux/macOS:
export SESSION_SECRET=$(openssl rand -base64 32)
# Or add to .env: SESSION_SECRET=your_random_secret_here
# 3. Add your LLM API key to .env
# MOONSHOT_API_KEY=your_key_here
# 4. Start
docker-compose up -d
Database migrations run automatically on first startup.
git clone https://github.com/techbloom-ai/swaggbot.git
cd swaggbot
pnpm install
cp .env.example .env.local
# Edit .env.local with SESSION_SECRET and LLM API keys
pnpm db:migrate
pnpm dev
| Variable | Required | Default | Description |
|---|---|---|---|
SESSION_SECRET |
Yes | — | Random secret for session encryption (min 32 chars) |
MOONSHOT_API_KEY |
Yes* | — | Moonshot AI API key |
OPENAI_API_KEY |
Yes* | — | OpenAI API key |
ANTHROPIC_API_KEY |
Yes* | — | Anthropic API key |
OLLAMA_BASE_URL |
Yes* | — | Ollama server URL |
LLM_PROVIDER |
No | moonshot |
moonshot | openai | anthropic | ollama |
DATABASE_URL |
No | file:./data/swaggbot.db |
SQLite database path |
NEXT_PUBLIC_APP_URL |
No | http://localhost:3003 |
App base URL |
*At least one LLM provider required
# Linux/macOS
openssl rand -base64 32
# Or any random string (min 32 characters)
All endpoints require authentication via session cookie.
| Endpoint | Method | Description |
|---|---|---|
/api/auth/login |
POST | Authenticate and create session |
/api/session |
POST | Create API session from Swagger URL |
/api/session |
GET | List all sessions (paginated) |
/api/chat |
POST | Send message to API |
/api/workflow |
POST | Create multi-step workflow |
/api/workflow/:id/execute |
POST | Execute workflow |
{
"mcpServers": {
"swaggbot": {
"command": "docker",
"args": ["compose", "run", "--rm", "swaggbot-mcp"],
"env": {
"SESSION_SECRET": "your_secret",
"MOONSHOT_API_KEY": "your_key"
}
}
}
}
"Create a user named John"
"List all pets with status available"
"Execute the login workflow"
# Authenticate
curl -X POST http://localhost:3003/api/auth/login \
-H "Content-Type: application/json" \
-d '{"password": "your_password"}' \
-c cookies.txt
# Chat with API
curl -X POST http://localhost:3003/api/chat \
-H "Content-Type: application/json" \
-b cookies.txt \
-d '{"sessionId": "...", "message": "List all users"}'
| Component | Technology |
|---|---|
| Framework | Next.js 16 (App Router) |
| Language | TypeScript 5 |
| Database | SQLite (libSQL/Turso) |
| ORM | Drizzle ORM |
| UI | shadcn/ui + TailwindCSS 4 |
| State | Zustand |
| LLM SDK | Vercel AI SDK patterns |
| MCP | Model Context Protocol SDK |
| Testing | Vitest |
| Container | Docker + Docker Compose |
swaggbot/
├── app/ # Next.js App Router
│ ├── api/ # API routes
│ ├── sessions/ # Session UI
│ └── settings/ # Settings page
├── components/ # shadcn/ui components
├── lib/
│ ├── db/ # Database schema & migrations
│ ├── llm/ # LLM provider implementations
│ ├── services/ # Business logic
│ ├── auth/ # Session & encryption
│ └── prompts/ # LLM prompt management
├── scripts/ # MCP server & entrypoint
└── data/ # SQLite storage (Docker volume)
MIT © TechBloom
Выполни в терминале:
claude mcp add swaggbot -- npx Web content fetching and conversion for efficient LLM usage.
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
автор: modelcontextprotocolProvides auto-configuration for setting up an MCP server in Spring Boot applications.
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
автор: xuzexin-hzНе уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории ai