← Back to list

mcp-servers
by X-McKay
Playground for Kubernetes testing
⭐ 1🍴 0📅 Jan 25, 2026
SKILL.md
name: mcp-servers description: Use and develop MCP servers for agent capabilities. Includes Temporal, Qdrant, Memory, Discord, and Registry MCP servers.
MCP Servers
Kubani provides several MCP servers that extend agent capabilities.
Available MCP Servers
| Server | Purpose | Location |
|---|---|---|
| temporal-mcp | Workflow orchestration | kubani/mcp/servers/temporal/ |
| qdrant-mcp | Vector search | kubani/mcp/servers/qdrant/ |
| memory-mcp | Unified memory | kubani/mcp/servers/memory/ |
| discord-mcp | Discord integration | kubani/mcp/servers/discord/ |
| skills-mcp | Skills registry | kubani/mcp/servers/skills/ |
Quick Start
Installation
# Install all MCP servers
uv pip install -e kubani/mcp/servers/temporal
uv pip install -e kubani/mcp/servers/qdrant
uv pip install -e kubani/mcp/servers/memory
uv pip install -e kubani/mcp/servers/discord
Claude Code Configuration
Add to .claude/mcp.json:
{
"mcpServers": {
"temporal": {
"command": "temporal-mcp",
"env": {
"TEMPORAL_HOST": "temporal.almckay.io:7233",
"TEMPORAL_NAMESPACE": "kubani"
}
},
"qdrant": {
"command": "qdrant-mcp",
"env": {
"QDRANT_HOST": "qdrant.almckay.io",
"QDRANT_PORT": "6333"
}
},
"memory": {
"command": "memory-mcp",
"env": {
"QDRANT_HOST": "qdrant.almckay.io",
"NEO4J_URI": "bolt://neo4j.almckay.io:7687",
"REDIS_HOST": "redis.almckay.io"
}
},
"discord": {
"command": "discord-mcp",
"env": {
"DISCORD_BOT_TOKEN": "${DISCORD_BOT_TOKEN}"
}
}
}
}
Temporal MCP Server
Manage Temporal workflows and schedules.
Tools
list_workflows- List workflows with filteringget_workflow- Get workflow detailsstart_workflow- Start a new workflowsignal_workflow- Send signals to workflowsquery_workflow- Query workflow statecancel_workflow- Cancel a workflowterminate_workflow- Force terminatelist_schedules- List schedulespause_schedule/unpause_schedule- Manage schedulestrigger_schedule- Trigger immediate execution
Example Usage
List all running k8s-monitor workflows
Start a new news-digest workflow with ID "digest-2024-01-11"
Get the history of workflow "failed-workflow-123" to debug the failure
Qdrant MCP Server
Vector database operations for semantic search.
Tools
list_collections- List all collectionscreate_collection- Create a new collectiondelete_collection- Delete a collectionupsert_vectors- Insert/update vectorssearch_vectors- Semantic similarity searchget_point- Get a specific pointdelete_points- Delete pointsscroll_points- Paginate through pointscount_points- Count points
Example Usage
Create a collection called "agent-learnings" with 1536 dimensions
Search for vectors similar to "kubernetes memory issues" in the learnings collection
Memory MCP Server
Unified memory system combining Qdrant, Neo4j, and Redis.
Tools
Learnings:
store_learning- Store agent learningsquery_learnings- Semantic search learningsget_agent_learnings- Get agent's learnings
Knowledge:
store_knowledge- Store domain knowledgequery_knowledge- Search knowledgeget_knowledge_graph- Explore relationshipsfind_related_topics- Find related topics
Relationships:
create_relationship- Create entity relationshipsget_entity_relationships- Get relationships
Cache:
cache_set/cache_get/cache_delete- Fast caching
Utilities:
get_memory_stats- Memory system statsconsolidate_learnings- Consolidate similar learnings
Example Usage
Store a learning from k8s-monitor: "OOM kills indicate memory pressure"
with confidence 0.85 and tags ["kubernetes", "memory"]
Query learnings about "pod restart issues" with minimum confidence 0.7
Show the knowledge graph around "kubernetes/memory-management"
Discord MCP Server
Discord integration for notifications and approvals.
Tools
send_message- Send a message to a channelsend_embed- Send rich embed messageadd_reaction- Add reaction to messageget_reactions- Get message reactionscreate_thread- Create a threadwait_for_reaction- Wait for specific reaction
Example Usage
Send an alert to the alerts channel about a pod failure
Post a skill proposal to the learning channel and wait for approval reactions
Developing New MCP Servers
Template
"""
My MCP Server implementation.
"""
import os
from mcp.server.fastmcp import FastMCP
def create_server() -> FastMCP:
mcp = FastMCP(
name="My MCP Server",
instructions="Description of what this server does.",
)
@mcp.tool()
async def my_tool(
param1: str,
param2: int = 10,
) -> dict:
"""
Tool description.
Args:
param1: Description of param1
param2: Description of param2 (default: 10)
Returns:
Result description
"""
# Implementation
return {"result": "value"}
return mcp
async def main():
server = create_server()
transport = os.environ.get("MCP_TRANSPORT", "stdio")
if transport == "stdio":
from mcp.server.stdio import stdio_server
async with stdio_server() as (read, write):
await server.run(read, write, server.create_initialization_options())
elif transport == "sse":
await server.run_sse_async()
if __name__ == "__main__":
import asyncio
asyncio.run(main())
Project Structure
tools/my-mcp-server/
├── src/my_mcp/
│ ├── __init__.py
│ ├── server.py # MCP server implementation
│ └── models.py # Pydantic models
├── tests/
│ ├── __init__.py
│ ├── conftest.py
│ └── test_server.py
├── pyproject.toml
└── README.md
Testing
# Run tests
cd tools/my-mcp-server
pytest
# Test manually
python -m my_mcp.server
Registration
Add to the registry for discovery:
kubani-dev mcp register my-mcp-server
Best Practices
- Use descriptive tool names that indicate the action
- Provide detailed docstrings for tool discovery
- Use Pydantic models for complex inputs/outputs
- Handle errors gracefully with informative messages
- Add comprehensive tests for all tools
- Document environment variables in README
- Support both stdio and SSE transports
Score
Total Score
50/100
Based on repository quality metrics
✓SKILL.md
SKILL.mdファイルが含まれている
+20
○LICENSE
ライセンスが設定されている
0/10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
Reviews
💬
Reviews coming soon