micro--go-micro
d2036b880d
* docs: update all four documentation guides and mark Q2 complete - ai-native-services: add WithMCP one-liner, standalone gateway, WebSocket client example, and OpenTelemetry observability section - mcp-security: add OTel distributed tracing, WebSocket authentication (connection-level and per-message), DeniedReason audit field - tool-descriptions: add manual overrides with WithEndpointDocs and export formats section - agent-patterns: add LangChain/LlamaIndex SDK pattern and standalone gateway production pattern with Docker example - Update roadmap: mark Q2 documentation as complete, Q2 at 100% - Update status: reflect all recent completions, shift priorities https://claude.ai/code/session_01GkduEhcrqcG45rdfYh8dAc * feat: add agent demo example and blog post Add examples/agent-demo with a multi-service project management app (projects, tasks, team) that demonstrates AI agents interacting with Go Micro services through MCP. Includes seed data and example prompts. Add blog post 4 "Agents Meet Microservices: A Hands-On Demo" walking through the example code and showing cross-service agent workflows. https://claude.ai/code/session_01GkduEhcrqcG45rdfYh8dAc * feat: enable multiple services in a single binary Remove global state mutations from service and cmd option functions so that configuring one service no longer overwrites another's settings. Key changes: - service/options.go: remove all DefaultXxx global writes from option functions; newOptions() now creates fresh Server, Client, Store, and Cache per service while sharing Registry, Broker, and Transport - cmd/cmd.go: newCmd() uses local copies instead of pointers to package globals; Before() no longer mutates DefaultXxx vars - cmd/options.go: remove global mutations from all option functions - service/service.go: export ServiceImpl type for cross-package use - service/group.go: new Group type for multi-service lifecycle - micro.go: add Start/Stop to Service interface, expose Group and NewGroup convenience function - examples/multi-service: working example with two services https://claude.ai/code/session_01GkduEhcrqcG45rdfYh8dAc * docs: highlight multi-service binary support Add multi-service section to README with code example, update features list, add to examples index, and note in status summary. https://claude.ai/code/session_01GkduEhcrqcG45rdfYh8dAc * feat: unify service API and clean up developer experience - Unified service creation: micro.New("name", opts...) as canonical API - Clean handler registration: service.Handle(handler, opts...) accepts server.HandlerOption args directly, no need to reach through Server() - Unexported serviceImpl: users interact through Service interface only - Service groups use Service interface (not concrete type) - Fixed Stop() to properly propagate BeforeStop/AfterStop errors - Fixed store init: error-level log instead of fatal on init failure - Updated all examples to use consistent patterns - Updated README, getting-started, MCP docs, and guides - Added blog post about the DX cleanup https://claude.ai/code/session_01GkduEhcrqcG45rdfYh8dAc --------- Co-authored-by: Claude <noreply@anthropic.com>
Agent Demo
A multi-service project management app that demonstrates AI agents interacting with Go Micro services through MCP.
What's Included
Three services registered in a single process:
| Service | Endpoints | Description |
|---|---|---|
| ProjectService | Create, Get, List | Manage projects with status tracking |
| TaskService | Create, List, Update | Tasks with assignees, priorities, and status |
| TeamService | Add, List, Get | Team members with roles and skills |
The demo starts with seed data: 2 projects, 7 tasks, and 4 team members.
Run
go run main.go
Endpoints:
- MCP Gateway: http://localhost:3000
- MCP Tools: http://localhost:3000/mcp/tools
- WebSocket: ws://localhost:3000/mcp/ws
Use with Claude Code
{
"mcpServers": {
"demo": {
"command": "go",
"args": ["run", "main.go"],
"cwd": "examples/agent-demo"
}
}
}
Example Prompts
Try these with Claude Code or any MCP client:
- "What projects do we have?"
- "Show me all tasks assigned to alice"
- "Create a high-priority task for bob to review the design mockups"
- "Who on the team knows Go?"
- "Give me a status update on the Website Redesign project"
- "What tasks are still todo on the API v2 migration?"
- "Assign the unassigned tasks to charlie"
- "Mark task-1 as done"
What This Demonstrates
- Zero-config MCP — Services become AI tools automatically from doc comments
- Cross-service orchestration — An agent queries projects, tasks, and team in one conversation
- Rich tool descriptions —
descriptionstruct tags and@examplecomments guide the agent - Auth scopes — Read and write operations have separate scopes
WithMCPone-liner — MCP gateway starts with a single option
See the blog post for a detailed walkthrough.