Repository avatar
Other Tools
v0.1.0
active

aionmcp

io.github.kiransth77/aionmcp

Dynamic API tool generator for OpenAPI, GraphQL, and AsyncAPI specifications

Documentation

AionMCP - Autonomous Go MCP Server

Build Status Success Rate Avg Latency Go Version License

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.

🌟 Key Differentiators

  • Multi-Protocol Support: OpenAPI, GraphQL, and AsyncAPI specifications
  • Autonomous Learning: Self-improving system that learns from execution patterns
  • Dynamic Runtime: Hot-reloadable tools without service restart
  • Clean Architecture: Maintainable, testable, and extensible design
  • Auto-Documentation: Self-updating documentation and insights

šŸ“Š Project Status

Current Branch: main

Latest Commit: f4f41db

System Health: 99/100 (Excellent)

Active Tools: 3

Commits (7 days): 17

Status updated automatically

✨ Features

šŸ“¦ What's Included

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

šŸš€ Quick Start

# 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.

šŸ—ļø Architecture

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)   │   │
│  ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜  ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜  ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜   │
ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜

šŸ“ˆ Recent Activity

Recent Commits

  • 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)

Active Insights

šŸ“Š Total insights: 2

Activity updated automatically

⚔ Performance Statistics

MetricValueStatus
Success Rate97.0%🟢 Excellent
Avg Latency250.0ms🟔 Good
Total Executions42šŸ“Š Tracking
Active Tools3šŸ”§ Running

Statistics updated in real-time

šŸ“¦ Installation

Prerequisites

  • Go 1.21 or higher
  • Git

From Source

git clone https://github.com/kiransth77/aionmcp.git
cd aionmcp
go mod download
go build -o bin/aionmcp cmd/server/main.go

šŸ“š Usage

Basic Usage

# Start the server
./bin/aionmcp

# With custom configuration
./bin/aionmcp --config config.yaml

# Enable debug logging
AIONMCP_LOG_LEVEL=debug ./bin/aionmcp

API Endpoints

  • GET /api/v1/tools - List available tools
  • POST /api/v1/tools/{tool}/execute - Execute a tool
  • GET /api/v1/learning/stats - Learning statistics
  • GET /api/v1/learning/insights - System insights

šŸ› ļø Development

Access: http://localhost:8080


### Docker
```bash
docker run -p 8080:8080 aionmcp:latest

Cloud (AWS/GCP/Azure)

Deploy the binary to your cloud provider, access via public URL.

Embedded

import "github.com/aionmcp/aionmcp/internal/core"
server := core.NewServer(logger)
server.Start()

šŸ¤ Contributing

Active Insights

šŸ“Š Total insights: 2

Activity updated automatically

šŸ“„ License

šŸ“„ License


README last updated: 2025-11-27 22:36:50 AEST

This README is automatically updated with current project status and metrics.

README last updated: 2025-11-27 22:37:28 AEST

This README is automatically updated with current project status and metrics.

README last updated: 2025-11-27 22:47:18 AEST

This README is automatically updated with current project status and metrics.