agent-native-ops-demo
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@agent-native-ops-demoTest idempotent retry using create_invoice"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
agent-native-ops-demo
Agent-Native Operations yazı serisinin demo reposu — MCP 2026-07-28 spec'ine göre, NestJS + MCP-Nest ile yazılmış stateless bir MCP server.
Donmuş snapshot: Bu repo, serinin yazıları için tarihli bir kanıt ortamıdır; MCP 2026-07-28 revizyonu ve
@rekog/mcp-nest@2.0.0esas alınmıştır. Spec değiştikçe güncel tutulmayacaktır — her yazının changelog'u hangi tag'e dayandığını söyler.
Ne gösteriyor
Tool | Ne kanıtlıyor |
| Saf stateless tool — replica ölçekleme ölçümlerinin yükü |
| Server-minted handle (Redis, |
| Mutlu yolda doğru, retry'da duplicate üreten bilerek-naif tool |
|
|
| Bilerek yavaş, progress bildiren tool — pod-kill / kopan-stream deneylerinin hedefi |
Sunucu dual-era çalışır (protocol: 'dual'): aynı /mcp endpoint'i hem eski protokolü (initialize + session) hem stateless 2026-07-28'i cevaplar. tools/list cevabı SEP-2549 gereği ttlMs: 3600000, cacheScope: "public" taşır (cacheHints ile ayarlı; varsayılan ttlMs: 0, private).
Related MCP server: FRD Orchestrator
Hızlı başlangıç
Gereksinimler: Node 22+, Redis (lokal :6379 ya da docker compose up -d), REDIS_URL ile değiştirilebilir.
npm install
npm run build
npm start # :3000/mcp (MCP), :3000/healthz (liveness)Duman testi (modern era, 2026-07-28)
Her istek kendi kendine yeterlidir: _meta içinde protocolVersion + clientCapabilities taşır, Mcp-Method header'ı zorunludur (eksiğinde sunucu hangi alanın eksik olduğunu söyleyen -32602 döner).
curl -s -X POST localhost:3000/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-H 'Mcp-Method: tools/list' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{"_meta":{
"io.modelcontextprotocol/protocolVersion":"2026-07-28",
"io.modelcontextprotocol/clientInfo":{"name":"smoke","version":"0.0.1"},
"io.modelcontextprotocol/clientCapabilities":{}}}}'İdempotency replay'ini görmek için aynı idempotency_key ile create_invoice'u iki kez çağırın (Mcp-Method: tools/call + Mcp-Name: create_invoice) ve redis-cli get invoice:count ile sayacı izleyin: key'li tool'da sayaç 1'de kalır, create_invoice_naive'de her çağrı sayacı artırır.
Alternatif: MCP Inspector ile http://localhost:3000/mcp'ye bağlanın.
Kanıt katmanı
Her tool çalıştırması benzersiz bir executionId ile hem stdout'a (JSON log) hem Redis exec-log listesine yazılır. Retry'lar protokol seviyesinde yeni request-id taşıdığı için (SSE resumability kaldırıldı), duplicate sayımı protokole değil bu kayıtlara yaslanır.
Yol haritası (serinin ölçüm parçaları)
Parça 1 — NestJS + MCP-Nest iskeleti: 5 tool, Redis handle store, idempotency, execution log
Parça 2 — k8s/kind manifest'leri: 1↔3 replica, NodePort Service,
terminationGracePeriodSeconds, chaos endpoint'iParça 3 — k6 senaryoları + koşulmuş deneyler (aşağıda)
Parça 4 — cache katmanı deneyi:
ttlMs+ paylaşımlı cache, origin-hit sayımıParça 5 — OTel GenAI facade + trace waterfall (serinin OTEL-GENAI yazısı)
Deneyler (Parça 2-3)
Ortam: lokal kind cluster'ı (tek node, Docker Desktop, Apple Silicon); k6 aynı makinede. Kurulum:
docker build -t agent-native-ops-demo:0.1.0 .
kind create cluster --config kind-config.yaml
kind load docker-image agent-native-ops-demo:0.1.0 --name anops
kubectl apply -f k8s/Sabit yük (1 vs 3 replica, echo_upper): k6 run -e RATE=100 -e DURATION=60s k6/steady-load.js
Yük | 1 replica p95 / p99 | 3 replica p95 / p99 |
100 rps · 60 sn | 6.7 ms / 21.1 ms | 7.4 ms / 30.8 ms |
600 rps · 45 sn | 14.2 ms / 51.6 ms | 16.2 ms / 52.4 ms |
Bu iş yükünde yatay ölçeklemenin latency getirisi yok — kazanç kapasite değil, dayanıklılık (aşağıda).
Pod-kill duplicate deneyi: 30 rps fatura niyeti, 90 sn, delay_ms=500 (commit-sonrası cevap penceresi); koşu sırasında 8 kez POST /chaos/crash ile rastgele pod'lar düşürüldü. Client, 2026-07-28'in zorunlu kıldığı gibi kopan isteği yeni request-id ile tekrar gönderiyor (k6/pod-kill.js).
Koşu | Niyet | Retry | Duplicate fatura | Oran |
| 2 700 | 132 | 37 | %1.37 |
| 2 108 | 1 121 | 1 | %0.05 |
Sekiz crash'e rağmen kaybolan niyet: naifte 0/2700, key'lide 1/2108 — servis 3 replica ile ayakta kaldı. Key'li koşudaki tek duplicate, crash'in iş commit'i ile idempotency kaydının arasına denk geldiği vaka: read-then-write idempotency atomik değildir; gerçek exactly-once için ikisini tek transaction'a koyun (serinin tool-contract yazısının konusu). Analiz: kubectl exec deploy/redis -- redis-cli lrange exec-log 0 -1 | python3 scripts/analyze-duplicates.py <run-prefix>; ham k6 çıktıları results/ altında.
Seri
NestJS ile Production'da Stateless MCP Server (bu repo'nun ana yazısı)
Agent'lara API Tasarlamak: Retry'a Dayanıklı MCP Tool Contract'ları
AI Agent'lara Internal Developer Platform'da Kimlik Vermek
Node.js'te OpenTelemetry GenAI ile AI Agent Instrumentasyonu
Auto-Remediation Incident'ı Ne Zaman Büyütür
(Yazı linkleri yayınlandıkça eklenecek.)
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityDmaintenanceA reference implementation demonstrating proper MCP server patterns with HTTP transport, featuring session management, progress notifications, and example tools for testing server functionality. Serves as a clean template for building MCP servers with streamable responses and comprehensive error handling.Last updated7
- AlicenseBqualityDmaintenanceAn MCP server that exposes structured Functional Requirements Documents (FRDs) to enable AI assistants like GitHub Copilot to automatically generate complete NestJS boilerplate architectures. It orchestrates the multi-phase creation of production-ready APIs including core CRUD, database integration, JWT authentication, and unit testing.Last updated1MIT
- Alicense-qualityCmaintenanceBuild MCP servers inside NestJS applications using ordinary controllers with decorators for tools, resources, and prompts, supporting authentication and authorization.Last updated25MIT
- Alicense-qualityBmaintenanceA minimal NestJS MCP server skeleton for experimenting with the Model Context Protocol. Currently a placeholder with no implemented tools or resources.Last updated10MIT
Related MCP Connectors
MEOK MCP Test MCP — golden-file + schema-drift + tool-failure tests for any MCP server. Drop-in
Remote MCP server for RunComfy Serverless API (ComfyUI): deployments and async inference.
Workflow diagnostics, capability routing, and x402 settlement for MCP-compatible agents.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/melihkizmaz/agent-native-ops-demo'
If you have feedback or need assistance with the MCP directory API, please join our Discord server