This server parses OpenAPI, GraphQL, and AsyncAPI specifications at runtime and converts them into MCP tools without requiring restarts. It includes a self-learning engine that tracks execution patterns and stores insights in BoltDB, plus auto-generates documentation based on actual usage. The architecture supports hot-reloading specs and exposing new endpoints as tools on the fly. Reach for this when you want Claude to interact with APIs defined in standard spec formats, especially in environments where API definitions change frequently. The learning component means it optimizes its own performance over time by analyzing which operations succeed and how long they take.
AionMCP is an autonomous Go-based Model Context Protocol (MCP) server that dynamically imports OpenAPI, GraphQL, and AsyncAPI specifications and exposes them as tools to agents. It features self-learning capabilities, context-awareness, and autonomous documentation using Clean/Hexagonal architecture.
Current Branch: main
Latest Commit: f4f41db
System Health: 99/100 (Excellent)
Active Tools: 3
Commits (7 days): 17
Status updated automatically
aionmcp/
├── bin/aionmcp-server # Main executable
├── cmd/server/ # Server entry point
├── internal/
│ ├── core/ # HTTP/gRPC servers & tool registry
│ ├── selflearn/ # Learning engine & BoltDB storage
│ └── autodocs/ # Documentation generation
├── pkg/
│ ├── importer/ # OpenAPI/GraphQL/AsyncAPI parsers
│ ├── agent/ # Agent registration API
│ └── feedback/ # Feedback collection
├── vscode-extension/ # VS Code extension
├── docs/ # Comprehensive documentation
├── examples/specs/ # Example API specifications
│ ├── petstore.yaml # OpenAPI 3.0 example
│ ├── blog.graphql # GraphQL example
│ └── user-events.yaml # AsyncAPI example
└── go.mod # Go dependencies
# Clone the repository
git clone https://github.com/kiransth77/aionmcp.git
cd aionmcp
# Build the server
go build -o bin/aionmcp cmd/server/main.go
# Run with default configuration
./bin/aionmcp
The server will start on http://localhost:8080 with learning enabled.
AionMCP follows Clean/Hexagonal Architecture principles:
┌─────────────────────────────────────────────────────────┐
│ Adapters Layer │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ HTTP │ │ gRPC │ │ Plugin │ │
│ │ Interface │ │ Interface │ │ Interface │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
└─────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────┐
│ Core Layer │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Tool │ │ Learning │ │ Auto │ │
│ │ Registry │ │ Engine │ │ Docs │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
└─────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────┐
│ Infrastructure Layer │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Storage │ │ Metrics │ │ Config │ │
│ │ (BoltDB) │ │(Prometheus) │ │ (Viper) │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
└─────────────────────────────────────────────────────────┘
f4f41db9 fix: clean up TOON package formatting and remove duplicate package declaration (0h ago)8b97b173 fix: update go-ci.yml to use Go 1.25 to match go.mod requirement (0h ago)ebeeee28 fix: remove redundant newline in fmt.Println to pass linting (0h ago)a91eb5f4 feat: add TOON (Token-Oriented Object Notation) for LLM context optimization (0h ago)bd39bb10 fix: update Dockerfile Go version to 1.25 (0h ago)📊 Total insights: 2
Activity updated automatically
| Metric | Value | Status |
|---|---|---|
| Success Rate | 97.0% | 🟢 Excellent |
| Avg Latency | 250.0ms | 🟡 Good |
| Total Executions | 42 | 📊 Tracking |
| Active Tools | 3 | 🔧 Running |
Statistics updated in real-time
git clone https://github.com/kiransth77/aionmcp.git
cd aionmcp
go mod download
go build -o bin/aionmcp cmd/server/main.go
# Start the server
./bin/aionmcp
# With custom configuration
./bin/aionmcp --config config.yaml
# Enable debug logging
AIONMCP_LOG_LEVEL=debug ./bin/aionmcp
GET /api/v1/tools - List available toolsPOST /api/v1/tools/{tool}/execute - Execute a toolGET /api/v1/learning/stats - Learning statisticsGET /api/v1/learning/insights - System insights
### Docker
```bash
docker run -p 8080:8080 aionmcp:latest
Deploy the binary to your cloud provider, access via public URL.
import "github.com/aionmcp/aionmcp/internal/core"
server := core.NewServer(logger)
server.Start()
📊 Total insights: 2
Activity updated automatically
README last updated: 2025-11-27 22:47:18 AEST
This README is automatically updated with current project status and metrics.