AionMCP
An autonomous Go MCP server that dynamically imports OpenAPI, GraphQL, and AsyncAPI specs and exposes them as tools to agents with self-learning and auto-documentation.
README
AionMCP - Autonomous Go MCP Server
<!-- AUTO-GENERATED BADGES -->
<!-- END AUTO-GENERATED BADGES -->
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
<!-- AUTO-GENERATED STATUS -->
Current Branch: main
Latest Commit: f4f41db
System Health: 99/100 (Excellent)
Active Tools: 3
Commits (7 days): 17
Status updated automatically <!-- END AUTO-GENERATED STATUS -->
⨠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
<!-- AUTO-GENERATED ACTIVITY -->
Recent Commits
f4f41db9fix: clean up TOON package formatting and remove duplicate package declaration (0h ago)8b97b173fix: update go-ci.yml to use Go 1.25 to match go.mod requirement (0h ago)ebeeee28fix: remove redundant newline in fmt.Println to pass linting (0h ago)a91eb5f4feat: add TOON (Token-Oriented Object Notation) for LLM context optimization (0h ago)bd39bb10fix: update Dockerfile Go version to 1.25 (0h ago)
Active Insights
š Total insights: 2
Activity updated automatically <!-- END AUTO-GENERATED ACTIVITY -->
ā” Performance Statistics
<!-- AUTO-GENERATED PERFORMANCE -->
| 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 <!-- END AUTO-GENERATED PERFORMANCE -->
š¦ 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 toolsPOST /api/v1/tools/{tool}/execute- Execute a toolGET /api/v1/learning/stats- Learning statisticsGET /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 <!-- END AUTO-GENERATED ACTIVITY -->
š License
š License
README last updated: 2025-11-27 22:47:18 AEST
This README is automatically updated with current project status and metrics.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.