IBM Instana MCP Server

ทางการ

เซิร์ฟเวอร์ IBM Instana MCP ช่วยให้สามารถโต้ตอบกับแพลตฟอร์มการสังเกตการณ์ IBM Instana ได้อย่างราบรื่น ช่วยให้คุณเข้าถึงข้อมูลการสังเกตการณ์แบบเรียลไทม์ได้โดยตรงภายในขั้นตอนการทำงานพัฒนาของคุณ

คุณทำอะไรได้บ้างด้วย IBM Instana MCP?

  • เรียกดูภาพรวมโครงสร้างพื้นฐาน — ขอภาพรวมของโฮสต์ โพรเซส หรือคอนเทนเนอร์ที่ระบุโดยใช้ get_infra_snapshot
  • วิเคราะห์เมตริกของแอปพลิเคชันหรือบริการ — ขอข้อมูลอนุกรมเวลาสำหรับการเรียก ข้อผิดพลาด หรือความหน่วงด้วย get_app_metrics หรือ get_service_metrics
  • แสดงรายการแจ้งเตือนและเหตุการณ์ที่กำลังเกิดขึ้น — รับการแจ้งเตือน เหตุการณ์ หรือสมาร์ทแจ้งเตือนทั่วโลกปัจจุบันผ่าน get_alerts และ get_incidents
  • ตรวจสอบเหตุการณ์ Kubernetes — ดึงเหตุการณ์ Kubernetes ล่าสุดสำหรับคลัสเตอร์หรือเนมสเปซด้วย get_k8s_events
  • สอบถามข้อมูลการตรวจสอบเว็บไซต์ — ดึงเมตริกประสิทธิภาพเว็บไซต์หรือผลลัพธ์บีคอนผ่าน get_website_metrics

เอกสาร

สารบัญ

MCP Server สำหรับ IBM Instana

📚 ลิงก์ด่วน


Instana MCP server ช่วยให้สามารถโต้ตอบกับแพลตฟอร์มการตรวจสอบสังเกตการณ์ Instana ได้อย่างราบรื่น ทำให้คุณสามารถเข้าถึงข้อมูลการตรวจสอบสังเกตการณ์แบบเรียลไทม์ได้โดยตรงภายในขั้นตอนการพัฒนาของคุณ

มันทำหน้าที่เป็นสะพานเชื่อมระหว่างไคลเอนต์ (เช่น เอเจนต์ AI หรือเครื่องมือที่กำหนดเอง) และ REST API ของ Instana โดยแปลงคำถามของผู้ใช้เป็นคำขอ API ของ Instana และจัดรูปแบบการตอบกลับให้อยู่ในรูปแบบที่มีโครงสร้างและใช้งานได้ง่าย

เซิร์ฟเวอร์รองรับโหมดการขนส่งทั้ง Streamable HTTP และ Stdio เพื่อความเข้ากันได้สูงสุดกับไคลเอนต์ MCP ต่างๆ สำหรับรายละเอียดเพิ่มเติม โปรดดูที่ ข้อกำหนด MCP Transport Modes

ภาพรวมสถาปัตยกรรม

graph LR
    subgraph "Application Host Process"
        MH[MCP Host]
        MSI[Instana MCP Server]
        MST[ProductA MCP Server]
        MSC[ProductB MCP Server]

        MH <--> MSI
        MH <--> MSC
        MH <--> MST
    end

    subgraph "Remote Service"
        II[Instana Instance]
        TI[ProductA Instance]
        CI[ProductB Instance]

        MSI <--> II
        MST <--> TI
        MSC <--> CI
    end

    subgraph "LLM"
        L[LLM]
        MH <--> L
    end

ขั้นตอนการทำงาน

ลองพิจารณาตัวอย่างง่ายๆ: คุณกำลังใช้ MCP Host (เช่น Claude Desktop, VS Code หรือไคลเอนต์อื่นๆ) ที่เชื่อมต่อกับ Instana MCP Server เมื่อคุณขอข้อมูลเกี่ยวกับการแจ้งเตือนของ Instana กระบวนการต่อไปนี้จะเกิดขึ้น:

  1. ไคลเอนต์ MCP ดึงรายการเครื่องมือที่พร้อมใช้งานจากเซิร์ฟเวอร์ Instana MCP
  2. คำถามของคุณจะถูกส่งไปยัง LLM พร้อมกับคำอธิบายเครื่องมือ
  3. LLM วิเคราะห์เครื่องมือที่มีอยู่และเลือกเครื่องมือที่เหมาะสมสำหรับการดึงข้อมูลการแจ้งเตือนของ Instana
  4. ไคลเอนต์ดำเนินการเครื่องมือที่เลือกผ่านเซิร์ฟเวอร์ Instana MCP
  5. ผลลัพธ์ (การแจ้งเตือนล่าสุด) จะถูกส่งกลับไปยัง LLM
  6. LLM กำหนดรูปแบบการตอบกลับเป็นภาษาธรรมชาติ
  7. การตอบกลับจะแสดงผลให้คุณเห็น
sequenceDiagram
    participant User
    participant ChatBot as MCP Host
    participant MCPClient as MCP Client
    participant MCPServer as Instana MCP Server
    participant LLM
    participant Instana as Instana Instance

    ChatBot->>MCPClient: Load available tools from MCP Server
    MCPClient->>MCPServer: Request available tool list
    MCPServer->>MCPClient: Return list of available tools
    User->>ChatBot: Ask "Show me the latest alerts from Instana for application robot-shop"
    ChatBot->>MCPClient: Forward query
    MCPClient->>LLM: Send query and tool description
    LLM->>MCPClient: Select appropriate tool(s) for Instana alert query
    MCPClient->>MCPServer: Execute selected tool(s)
    MCPServer->>Instana: Retrieve alerts for application robot-shop
    MCPServer->>MCPClient: Send alerts of Instana result
    MCPClient->>LLM: Forward alerts of Instana
    LLM->>ChatBot: Generate natural language response for Instana alerts
    ChatBot->>User: Show Instana alert response

ข้อกำหนดเบื้องต้น

ตัวเลือกที่ 1: ติดตั้งจาก PyPI (แนะนำ)

วิธีที่ง่ายที่สุดในการใช้ mcp-instana คือการติดตั้งโดยตรงจาก PyPI:

pip install mcp-instana

หลังจากการติดตั้ง คุณสามารถรันเซิร์ฟเวอร์โดยใช้คำสั่ง mcp-instana ได้โดยตรง

ตัวเลือกที่ 2: การติดตั้งสำหรับการพัฒนา

สำหรับการพัฒนาหรือการปรับแต่งภายในเครื่อง คุณสามารถโคลนและตั้งค่าโปรเจกต์ภายในเครื่องได้

การติดตั้ง uv

โปรเจกต์นี้ใช้ uv ซึ่งเป็นตัวติดตั้งและตัวแก้ไขแพ็คเกจ Python ที่รวดเร็ว ในการติดตั้ง uv คุณมีหลายตัวเลือก:

การใช้ pip:

pip install uv

การใช้ Homebrew (macOS):

brew install uv

สำหรับตัวเลือกการติดตั้งเพิ่มเติมและคำแนะนำโดยละเอียด โปรดไปที่ เอกสารประกอบ uv

การตั้งค่าสภาพแวดล้อม

หลังจากติดตั้ง uv แล้ว ให้ตั้งค่าสภาพแวดล้อมของโปรเจกต์โดยรัน:

uv sync

การยืนยันตัวตนผ่านส่วนหัวสำหรับโหมด Streamable HTTP

เมื่อใช้ โหมด Streamable HTTP คุณต้องส่งข้อมูลประจำตัวของ Instana ผ่านส่วนหัว HTTP วิธีการนี้ช่วยเพิ่มความปลอดภัยและความยืดหยุ่นโดย:

  • หลีกเลี่ยงการจัดเก็บข้อมูลประจำตัวในตัวแปรสภาพแวดล้อม
  • ทำให้สามารถใช้ข้อมูลประจำตัวที่แตกต่างกันสำหรับคำขอที่แตกต่างกัน
  • รองรับสภาพแวดล้อมที่ใช้ร่วมกันซึ่งการแก้ไขตัวแปรสภาพแวดล้อมถูกจำกัด
  • รองรับทั้งการยืนยันตัวตนด้วย API token และ session

โหมดการยืนยันตัวตนที่รองรับ:

1. การยืนยันตัวตนด้วย API Token (การเรียก API โดยตรง)

ส่วนหัวที่จำเป็น:

  • instana-base-url: URL อินสแตนซ์ Instana ของคุณ
  • instana-api-token: API token ของ Instana ของคุณ

ตัวอย่าง:

--header "instana-base-url: https://your-instance.instana.io"
--header "instana-api-token: your-api-token"

2. การยืนยันตัวตนด้วย Session Token (การเรียกที่เริ่มต้นจาก UI)

ส่วนหัวที่จำเป็น:

  • instana-base-url: URL อินสแตนซ์ Instana ของคุณ
  • instana-auth-token: Session authentication token จาก UI backend
  • instana-csrf-token: CSRF token จาก UI backend
  • instana-cookie-name: (ไม่บังคับ) ชื่อคุกกี้สำหรับ session auth (ค่าเริ่มต้น: instanaAuthToken)

ตัวอย่าง:

--header "instana-base-url: https://your-instance.instana.io"
--header "instana-auth-token: your-session-token"
--header "instana-csrf-token: your-csrf-token"
--header "instana-cookie-name: in-token"

3. การยืนยันตัวตนด้วย JWT Token (การผสานรวมกับ IBM Platform)

ส่วนหัวที่จำเป็น:

  • instana-base-url: URL อินสแตนซ์ Instana ของคุณ
  • instana-jwt-token: JWT token จาก IBM Platform
  • instana-csrf-token: CSRF token สำหรับการตรวจสอบคำขอ

ตัวอย่างการกำหนดค่า:

{
  "mcpServers": {
    "Instana MCP Server": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "http://0.0.0.0:8080/mcp",
        "--allow-http",
        "--header",
        "instana-base-url: https://your-instana-instance.instana.io",
        "--header",
        "instana-jwt-token: your_jwt_token_here",
        "--header",
        "instana-csrf-token: your_csrf_token_here"
      ]
    }
  }
}

ลำดับความสำคัญของการยืนยันตัวตน:

  1. JWT Token (หากระบุพร้อมกับ CSRF token) - มีลำดับความสำคัญสูงสุดสำหรับการผสานรวมกับ IBM Platform
  2. Session Tokens (หากระบุทั้ง auth_token และ csrf_token)
  3. API Token (หากระบุ) - การยืนยันตัวตนมาตรฐาน
  4. ตัวแปรสภาพแวดล้อม (INSTANA_API_TOKEN) - ทางเลือกสำรอง

ขั้นตอนการยืนยันตัวตน:

  1. ส่วนหัว HTTP ต้องมีอยู่ในทุกคำขอ
  2. เซิร์ฟเวอร์ตรวจสอบข้อมูลประจำตัวตามลำดับความสำคัญ
  3. คำขอที่ไม่มีการยืนยันตัวตนที่ถูกต้องจะล้มเหลว

การออกแบบนี้ช่วยให้มั่นใจได้ถึงการส่งข้อมูลประจำตัวที่ปลอดภัยและรองรับขั้นตอนการยืนยันตัวตนหลายรูปแบบ รวมถึงการเรียกที่เริ่มต้นจาก UI ผ่าน WebSocket → Coordinator → MCP Server

ตรวจสอบให้แน่ใจว่าโทเค็นที่ใช้มีสิทธิ์ที่จำเป็นในการเรียกใช้เครื่องมือ MCP ตรวจสอบ ที่นี่ สำหรับข้อมูลเพิ่มเติม

การเริ่มต้น MCP Server ภายในเครื่อง

ก่อนกำหนดค่าไคลเอนต์ MCP ใดๆ (Claude Desktop, GitHub Copilot หรือไคลเอนต์ MCP ที่กำหนดเอง) คุณต้องเริ่มต้น MCP server ภายในเครื่องก่อน เซิร์ฟเวอร์รองรับโหมดการขนส่งสองโหมด: Streamable HTTP และ Stdio

ตัวเลือกคำสั่งเซิร์ฟเวอร์

การใช้ CLI (การติดตั้งจาก PyPI)

หากคุณติดตั้ง mcp-instana จาก PyPI ให้ใช้คำสั่ง mcp-instana:

mcp-instana [OPTIONS]

การใช้การติดตั้งสำหรับการพัฒนา

สำหรับการพัฒนาภายในเครื่อง ให้ใช้คำสั่ง uv run:

uv run src/core/server.py [OPTIONS]

ตัวเลือกที่พร้อมใช้งาน:

  • --transport <mode>: โหมดการขนส่ง (ตัวเลือก: streamable-http, stdio)
  • --env KEY=VALUE: ตั้งค่าตัวแปรสภาพแวดล้อม (สามารถใช้ซ้ำได้สำหรับหลายตัวแปร เช่น --env INSTANA_BASE_URL=https://... --env INSTANA_API_TOKEN=...)
  • --debug: เปิดใช้งานโหมดดีบักพร้อมการบันทึกเพิ่มเติม
  • --log-level <level>: ตั้งค่าระดับการบันทึก (ตัวเลือก: DEBUG, INFO, WARNING, ERROR, CRITICAL)
  • --tools <categories>: รายการหมวดหมู่เครื่องมือที่คั่นด้วยเครื่องหมายจุลภาคเพื่อเปิดใช้งาน (เช่น infra,app,events,website) การเปิดใช้งานหมวดหมู่จะเปิดใช้งานพรอมต์ที่เกี่ยวข้องด้วย ตัวอย่างเช่น: --tools infra เปิดใช้งานเครื่องมือ infra และพรอมต์ที่เกี่ยวข้องกับ infra ทั้งหมด
  • --list-tools: แสดงรายการหมวดหมู่เครื่องมือที่พร้อมใช้งานทั้งหมดและออก
  • --port <port>: พอร์ตเซิร์ฟเวอร์ MCP (ค่าเริ่มต้น: 8080 สามารถแทนที่ได้ด้วยตัวแปรสภาพแวดล้อม PORT)
  • --help: แสดงข้อความช่วยเหลือและออก

การเริ่มต้นในโหมด Streamable HTTP

โหมด Streamable HTTP ให้อินเทอร์เฟซ REST API และแนะนำสำหรับกรณีการใช้งานส่วนใหญ่

การใช้ CLI (การติดตั้งจาก PyPI)

# Start with all tools enabled (default)
mcp-instana --transport streamable-http

# Start with debug logging
mcp-instana --transport streamable-http --debug

# Start with a specific log level
mcp-instana --transport streamable-http --log-level WARNING

# Start with specific tool categories only
mcp-instana --transport streamable-http --tools infra,events

# Combine options (specific log level, custom tools)
mcp-instana --transport streamable-http --log-level DEBUG --tools app,events

การใช้การติดตั้งสำหรับการพัฒนา

# Start with all tools enabled (default)
uv run src/core/server.py --transport streamable-http

# Start with debug logging
uv run src/core/server.py --transport streamable-http --debug

# Start with a specific log level
uv run src/core/server.py --transport streamable-http --log-level WARNING

# Start with specific tool and prompts categories only
uv run src/core/server.py --transport streamable-http --tools infra,events

# Start with custom port
uv run src/core/server.py --transport streamable-http --port 9000

# Combine options (specific log level, custom tools and prompts)
uv run src/core/server.py --transport streamable-http --log-level DEBUG --tools app,events

คุณสมบัติหลักของโหมด Streamable HTTP:

  • ใช้ส่วนหัว HTTP สำหรับการยืนยันตัวตน (ไม่จำเป็นต้องใช้ตัวแปรสภาพแวดล้อม)
  • รองรับข้อมูลประจำตัวที่แตกต่างกันต่อคำขอ
  • เหมาะสมกว่าสำหรับสภาพแวดล้อมที่ใช้ร่วมกัน
  • พอร์ตเริ่มต้นของเซิร์ฟเวอร์ MCP: 8080
  • ปลายทาง MCP: http://0.0.0.0:8080/mcp/

การเริ่มต้นในโหมด Stdio

โหมด Stdio ใช้อินพุต/เอาต์พุตมาตรฐานสำหรับการสื่อสารและต้องการตัวแปรสภาพแวดล้อมสำหรับการยืนยันตัวตน

การใช้ CLI (การติดตั้งจาก PyPI)

# Option 1: Set environment variables first
export INSTANA_BASE_URL="https://your-instana-instance.instana.io"
export INSTANA_API_TOKEN="your_instana_api_token"

# Start the server (stdio is the default if no transport specified)
mcp-instana

# Or explicitly specify stdio mode
mcp-instana --transport stdio

# Option 2: Use --env flag to set environment variables directly
mcp-instana --env INSTANA_BASE_URL=https://your-instana-instance.instana.io --env INSTANA_API_TOKEN=your_instana_api_token

# Or with explicit stdio mode
mcp-instana --transport stdio --env INSTANA_BASE_URL=https://your-instana-instance.instana.io --env INSTANA_API_TOKEN=your_instana_api_token

การใช้การติดตั้งสำหรับการพัฒนา

# Option 1: Set environment variables first
export INSTANA_BASE_URL="https://your-instana-instance.instana.io"
export INSTANA_API_TOKEN="your_instana_api_token"

# Start the server (stdio is the default if no transport specified)
uv run src/core/server.py

# Or explicitly specify stdio mode
uv run src/core/server.py --transport stdio

# Option 2: Use --env flag to set environment variables directly
uv run src/core/server.py --env INSTANA_BASE_URL=https://your-instana-instance.instana.io --env INSTANA_API_TOKEN=your_instana_api_token

# Or with explicit stdio mode
uv run src/core/server.py --transport stdio --env INSTANA_BASE_URL=https://your-instana-instance.instana.io --env INSTANA_API_TOKEN=your_instana_api_token

คุณสมบัติหลักของโหมด Stdio:

  • ใช้ตัวแปรสภาพแวดล้อมสำหรับการยืนยันตัวตน (สามารถตั้งค่าได้ผ่าน export หรือแฟล็ก --env)
  • การสื่อสารโดยตรงผ่าน stdin/stdout
  • จำเป็นสำหรับการกำหนดค่าไคลเอนต์ MCP บางประเภท
  • แฟล็ก --env เป็นวิธีที่สะดวกในการตั้งค่าข้อมูลประจำตัวโดยไม่ต้องแก้ไขสภาพแวดล้อมของเชลล์

หมวดหมู่เครื่องมือ

คุณสามารถเพิ่มประสิทธิภาพเซิร์ฟเวอร์ได้โดยเปิดใช้งานเฉพาะหมวดหมู่เครื่องมือและพรอมต์ที่คุณต้องการ:

การใช้ CLI (การติดตั้งจาก PyPI)

# List all available categories
mcp-instana --list-tools

# Enable specific categories
mcp-instana --transport streamable-http --tools infra,app
mcp-instana --transport streamable-http --tools events

การใช้การติดตั้งสำหรับการพัฒนา

# List all available categories
uv run src/core/server.py --list-tools

# Enable specific categories
uv run src/core/server.py --transport streamable-http --tools infra,app
uv run src/core/server.py --transport streamable-http --tools events

หมวดหมู่ที่พร้อมใช้งาน:

  • infra: เครื่องมือและพรอมต์การตรวจสอบโครงสร้างพื้นฐาน (ทรัพยากร, แค็ตตาล็อก, โทโพโลยี, วิเคราะห์, เมตริก)
  • app: เครื่องมือและพรอมต์ประสิทธิภาพของแอปพลิเคชัน (ทรัพยากร, เมตริก, การแจ้งเตือน, แค็ตตาล็อก, โทโพโลยี, วิเคราะห์, การตั้งค่า, การแจ้งเตือนทั่วโลก)
  • events: เครื่องมือและพรอมต์การตรวจสอบเหตุการณ์ (เหตุการณ์ Kubernetes, การตรวจสอบเอเจนต์)
  • website: เครื่องมือและพรอมต์การตรวจสอบเว็บไซต์ (เมตริก, แค็ตตาล็อก, วิเคราะห์, การกำหนดค่า)

การตรวจสอบสถานะเซิร์ฟเวอร์

เมื่อเริ่มต้นแล้ว คุณสามารถตรวจสอบว่าเซิร์ฟเวอร์กำลังทำงานอยู่:

สำหรับโหมด Streamable HTTP:

# Check MCP server
curl http://0.0.0.0:8080/mcp/

# Or with custom port
curl http://0.0.0.0:9000/mcp/

สำหรับโหมด Stdio: เซิร์ฟเวอร์จะเริ่มต้นและรออินพุต stdin จากไคลเอนต์ MCP

ปัญหาทั่วไปในการเริ่มต้น

ปัญหาใบรับรอง: หากคุณพบข้อผิดพลาดใบรับรอง SSL ตรวจสอบให้แน่ใจว่าสภาพแวดล้อม Python ของคุณสามารถเข้าถึงใบรับรองระบบได้:

# macOS - Install certificates for Python
/Applications/Python\ 3.13/Install\ Certificates.command

พอร์ตถูกใช้งานอยู่แล้ว: หากพอร์ต 8080 ถูกใช้งานอยู่แล้ว ให้ระบุพอร์ตอื่น:

uv run src/core/server.py --transport streamable-http --port 9000

การพึ่งพาที่ขาดหายไป: ตรวจสอบให้แน่ใจว่าได้ติดตั้งการพึ่งพาทั้งหมดแล้ว:

uv sync

การตั้งค่าและการใช้งาน

Bob IDE

Bob คือ IDE ที่ขับเคลื่อนด้วย AI ของ IBM ซึ่งรองรับการผสานรวม MCP โดยกำเนิด Bob มอบประสบการณ์การพัฒนาที่ราบรื่นพร้อมความช่วยเหลือจาก AI ในตัวและเครื่องมือการตรวจสอบสังเกตการณ์

โหมด Streamable HTTP

โหมด Streamable HTTP มอบอินเทอร์เฟซ REST API สำหรับการสื่อสาร MCP โดยใช้ JSON-RPC ผ่าน HTTP

ขั้นตอนที่ 1: เริ่มต้น MCP Server ในโหมด Streamable HTTP

ก่อนกำหนดค่า Bob คุณต้องเริ่มต้น MCP server ในโหมด Streamable HTTP โปรดดูส่วน การเริ่มต้น Local MCP Server สำหรับคำแนะนำโดยละเอียด

ขั้นตอนที่ 2: กำหนดค่า Bob

ที่มุมขวาบนของแผง Bob คุณจะเห็นดรอปดาวน์ที่มี MCP servers:

เมื่อเลือกแล้ว คุณจะเห็นตัวเลือกในการกำหนดค่า MCP ที่ระดับโปรเจกต์หรือระดับโกลบอล

ขอบเขตการกำหนดค่า MCP

Bob รองรับการกำหนดค่า MCP สองระดับ ให้คุณเลือกขอบเขตที่เหมาะสมกับการใช้งานของคุณ:

1. การกำหนดค่าโกลบอล (ระดับผู้ใช้)

การกำหนดค่าโกลบอลใช้ MCP servers กับทุกโปรเจกต์สำหรับผู้ใช้ปัจจุบัน เหมาะเมื่อคุณต้องการให้ MCP servers เดียวกันพร้อมใช้งานในทุกโปรเจกต์ที่คุณทำงาน

ตำแหน่งไฟล์:

  • macOS: ~/Library/Application Support/Bob/bob_config.json
  • Windows: %APPDATA%\Bob\bob_config.json
  • Linux: ~/.config/Bob/bob_config.json

2. การกำหนดค่าโปรเจกต์ (ระดับโปรเจกต์)

การกำหนดค่าโปรเจกต์ใช้ MCP servers กับโปรเจกต์เฉพาะเท่านั้น มีประโยชน์เมื่อโปรเจกต์ต่างๆ ต้องการการกำหนดค่า MCP server ที่แตกต่างกัน หรือเมื่อคุณต้องการแชร์การตั้งค่า MCP กับทีมผ่านการควบคุมเวอร์ชัน

ตำแหน่งไฟล์:

  • .bob/bob_config.json ในไดเรกทอรีรากของโปรเจกต์ของคุณ

การเลือกระหว่างการกำหนดค่าโกลบอลและโปรเจกต์:

  • ใช้ การกำหนดค่าโกลบอล สำหรับ MCP servers ที่คุณต้องการให้พร้อมใช้งานในทุกโปรเจกต์ของคุณ
  • ใช้ การกำหนดค่าโปรเจกต์ สำหรับ MCP servers เฉพาะโปรเจกต์ หรือเพื่อแชร์การกำหนดค่ากับทีมของคุณ
  • การกำหนดค่าทั้งสองสามารถอยู่ร่วมกันได้ - การตั้งค่าระดับโปรเจกต์จะมีความสำคัญกว่าระดับโกลบอลสำหรับชื่อ server เดียวกัน

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ Bob และการกำหนดค่า MCP เยี่ยมชม: https://bob.ibm.com/docs/ide/configuration/mcp/mcp-in-bob

การกำหนดค่าแบบ Local:

กำหนดค่า Bob เพื่อเชื่อมต่อกับ Local Instana MCP server ของคุณ:

{
  "mcpServers": {
    "Instana MCP Server": {
      "command": "npx",
      "args": [
        "mcp-remote", "http://0.0.0.0:8080/mcp/",
        "--allow-http",
        "--header", "instana-base-url: https://your-instana-instance.instana.io",
        "--header", "instana-api-token: your_instana_api_token"
      ]
    }
  }
}

การกำหนดค่าแบบ Remote:

กำหนดค่า Bob เพื่อเชื่อมต่อกับ Remote Instana MCP server (เช่น ที่ปรับใช้บน IBM Code Engine):

{
  "mcpServers": {
    "Instana MCP Server": {
      "command": "npx",
      "args": [
        "mcp-remote", "https://app-instana-750.1zetetanw8ul.us-east.codeengine.appdomain.cloud/mcp/",
        "--allow-http",
        "--header", "instana-base-url: https://your-instana-instance.instana.io",
        "--header", "instana-api-token: your_instana_api_token"
      ]
    }
  }
}

หมายเหตุ: หากต้องการใช้ npx เราแนะนำให้ติดตั้ง NVM (Node Version Manager) ก่อน จากนั้นใช้เพื่อติดตั้ง Node.js คำแนะนำการติดตั้งอยู่ที่: https://nodejs.org/en/download

ขั้นตอนที่ 3: ทดสอบการเชื่อมต่อ

เมื่อคุณตั้งค่าการกำหนดค่า MCP แล้ว MCP server ที่กำหนดค่าใหม่ควรปรากฏเป็นเปิดใช้งาน จุดสีเขียวแสดงว่า server กำลังทำงานสำเร็จ

คุณสามารถรันคิวรีใน Bob IDE ได้แล้ว:

get me all applications from Instana in the last 24 hours

โหมด Stdio

การกำหนดค่าโดยใช้ CLI (การติดตั้ง PyPI - แนะนำ):

ตัวเลือก 1: การใช้ environment variables ใน config:

{
  "mcpServers": {
    "Instana MCP Server": {
      "command": "mcp-instana",
      "args": ["--transport", "stdio"],
      "env": {
        "INSTANA_BASE_URL": "https://your-instana-instance.instana.io",
        "INSTANA_API_TOKEN": "your_instana_api_token"
      }
    }
  }
}

ตัวเลือก 2: การใช้แฟล็ก --env (วิธีทางเลือก):

{
  "mcpServers": {
    "Instana MCP Server": {
      "command": "mcp-instana",
      "args": [
        "--transport", "stdio",
        "--env", "INSTANA_BASE_URL=https://your-instana-instance.instana.io",
        "--env", "INSTANA_API_TOKEN=your_instana_api_token"
      ]
    }
  }
}

หมายเหตุ: หากคุณพบข้อผิดพลาด "command not found" ให้ใช้พาธเต็มไปยัง mcp-instana ค้นหาด้วย which mcp-instana และใช้พาธนั้นแทน

การกำหนดค่าโดยใช้ Development Installation:

ตัวเลือก 1: การใช้ environment variables ใน config:

{
  "mcpServers": {
    "Instana MCP Server": {
      "command": "uv",
      "args": [
        "--directory",
        "<path-to-mcp-instana-folder>",
        "run",
        "src/core/server.py"
      ],
      "env": {
        "INSTANA_BASE_URL": "https://your-instana-instance.instana.io",
        "INSTANA_API_TOKEN": "your_instana_api_token"
      }
    }
  }
}

ตัวเลือก 2: การใช้แฟล็ก --env (วิธีทางเลือก):

{
  "mcpServers": {
    "Instana MCP Server": {
      "command": "uv",
      "args": [
        "--directory",
        "<path-to-mcp-instana-folder>",
        "run",
        "src/core/server.py",
        "--env", "INSTANA_BASE_URL=https://your-instana-instance.instana.io",
        "--env", "INSTANA_API_TOKEN=your_instana_api_token"
      ]
    }
  }
}

Claude Desktop

Claude Desktop รองรับทั้งโหมด Streamable HTTP และ Stdio สำหรับการรวม MCP

กำหนดค่า Claude Desktop โดยแก้ไขไฟล์การกำหนดค่า:

ตำแหน่งไฟล์:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

โหมด Streamable HTTP

โหมด Streamable HTTP มอบอินเทอร์เฟซ REST API สำหรับการสื่อสาร MCP โดยใช้ JSON-RPC ผ่าน HTTP

ขั้นตอนที่ 1: เริ่มต้น MCP Server ในโหมด Streamable HTTP

ก่อนกำหนดค่า Claude Desktop คุณต้องเริ่มต้น MCP server ในโหมด Streamable HTTP โปรดดูส่วน การเริ่มต้น Local MCP Server สำหรับคำแนะนำโดยละเอียด

ขั้นตอนที่ 2: กำหนดค่า Claude Desktop

กำหนดค่า Claude Desktop เพื่อส่งข้อมูลประจำตัว Instana ผ่าน headers:

{
  "mcpServers": {
    "Instana MCP Server": {
      "command": "npx",
      "args": [
        "mcp-remote", "http://0.0.0.0:8080/mcp/",
        "--allow-http",
        "--header", "instana-base-url: https://your-instana-instance.instana.io",
        "--header", "instana-api-token: your_instana_api_token"
      ]
    }
  }
}

หมายเหตุ: หากต้องการใช้ npx เราแนะนำให้ติดตั้ง NVM (Node Version Manager) ก่อน จากนั้นใช้เพื่อติดตั้ง Node.js คำแนะนำการติดตั้งอยู่ที่: https://nodejs.org/en/download

ขั้นตอนที่ 3: ทดสอบการเชื่อมต่อ

รีสตาร์ท Claude Desktop คุณควรเห็น Instana MCP Server ในอินเทอร์เฟซ Claude Desktop ดังที่แสดงด้านล่าง:

คุณสามารถรันคิวรีใน Claude Desktop ได้แล้ว:

get me all endpoints from Instana

โหมด Stdio

การกำหนดค่าโดยใช้ CLI (การติดตั้ง PyPI - แนะนำ):

ตัวเลือก 1: การใช้ environment variables ใน config:

{
  "mcpServers": {
    "Instana MCP Server": {
      "command": "mcp-instana",
      "args": ["--transport", "stdio"],
      "env": {
        "INSTANA_BASE_URL": "https://your-instana-instance.instana.io",
        "INSTANA_API_TOKEN": "your_instana_api_token"
      }
    }
  }
}

ตัวเลือก 2: การใช้แฟล็ก --env (วิธีทางเลือก):

{
  "mcpServers": {
    "Instana MCP Server": {
      "command": "mcp-instana",
      "args": [
        "--transport", "stdio",
        "--env", "INSTANA_BASE_URL=https://your-instana-instance.instana.io",
        "--env", "INSTANA_API_TOKEN=your_instana_api_token"
      ]
    }
  }
}

หมายเหตุ: หากคุณพบข้อผิดพลาด "command not found" ให้ใช้พาธเต็มไปยัง mcp-instana ค้นหาด้วย which mcp-instana และใช้พาธนั้นแทน

การกำหนดค่าโดยใช้ Development Installation:

ตัวเลือก 1: การใช้ environment variables ใน config:

{
  "mcpServers": {
    "Instana MCP Server": {
      "command": "uv",
      "args": [
        "--directory",
        "<path-to-mcp-instana-folder>",
        "run",
        "src/core/server.py"
      ],
      "env": {
        "INSTANA_BASE_URL": "https://your-instana-instance.instana.io",
        "INSTANA_API_TOKEN": "your_instana_api_token"
      }
    }
  }
}

ตัวเลือก 2: การใช้แฟล็ก --env (วิธีทางเลือก):

{
  "mcpServers": {
    "Instana MCP Server": {
      "command": "uv",
      "args": [
        "--directory",
        "<path-to-mcp-instana-folder>",
        "run",
        "src/core/server.py",
        "--env", "INSTANA_BASE_URL=https://your-instana-instance.instana.io",
        "--env", "INSTANA_API_TOKEN=your_instana_api_token"
      ]
    }
  }
}

การตั้งค่า Kiro

Kiro เป็น IDE แบบ agentic ไม่ใช่ส่วนขยายที่สามารถดาวน์โหลดลงใน VS Code หรือ IDE อื่นๆ

ขั้นตอนที่ 1: ดาวน์โหลดและติดตั้ง Kiro สำหรับระบบปฏิบัติการของคุณจาก https://kiro.dev/.

ขั้นตอนที่ 2: หลังการติดตั้ง เปิด Kiro และเปิดโปรเจกต์ใดๆ ใน IDE alt text

ขั้นตอนที่ 3: คลิกไอคอน Kiro (Ghost) บนแถบด้านข้างซ้ายเพื่อเข้าถึงฟีเจอร์ของ Kiro alt text

ขั้นตอนที่ 4: เลือกไอคอน Edit Config ที่มุมขวาบนของส่วน MCP Servers alt text

ขั้นตอนที่ 5: เปิดไฟล์การกำหนดค่า MCP server (mcp.json) และกำหนดค่าตามโหมดการขนส่งที่คุณต้องการ:

โหมด Streamable HTTP (แนะนำสำหรับ Kiro)

{
  "mcpServers": {
    "Instana MCP Server": {
      "command": "npx",
      "args": [
        "mcp-remote", "http://0.0.0.0:8080/mcp/",
        "--allow-http",
        "--header", "instana-base-url: https://your-instana-instance.instana.io",
        "--header", "instana-api-token: your_instana_api_token"
      ]
    }
  }
}

หมายเหตุ: ตรวจสอบให้แน่ใจว่าได้เริ่มต้น MCP server ในโหมด streamable-http ก่อนใช้การกำหนดค่านี้:

mcp-instana --transport streamable-http

โหมด Stdio

ตัวเลือก 1: การใช้ environment variables ใน config:

{
  "mcpServers": {
    "Instana MCP Server": {
      "command": "mcp-instana",
      "args": ["--transport", "stdio"],
      "env": {
        "INSTANA_BASE_URL": "https://your-instana-instance.instana.io",
        "INSTANA_API_TOKEN": "your_instana_api_token"
      }
    }
  }
}

ตัวเลือก 2: การใช้แฟล็ก --env (วิธีทางเลือก):

{
  "mcpServers": {
    "Instana MCP Server": {
      "command": "mcp-instana",
      "args": [
        "--transport", "stdio",
        "--env", "INSTANA_BASE_URL=https://your-instana-instance.instana.io",
        "--env", "INSTANA_API_TOKEN=your_instana_api_token"
      ]
    }
  }
}

ขั้นตอนที่ 6: หลังจากบันทึกไฟล์ คลิกปุ่ม Enable MCP แล้วคุณจะเห็น MCP server และเครื่องมือที่พร้อมใช้งานปรากฏในส่วนล่างซ้ายของ Kiro alt text

ขั้นตอนที่ 7: ไปที่แผง AI Chat ป้อนพรอมต์ที่เกี่ยวข้องกับ MCP server ของคุณ และดูการตอบกลับโดยตรงภายใน Kiro alt text

GitHub Copilot

GitHub Copilot รองรับการรวม MCP ผ่านการกำหนดค่า VS Code สำหรับการรวม GitHub Copilot กับ VS Code ดู คู่มือการตั้งค่า นี้

โหมด Streamable HTTP

ขั้นตอนที่ 1: เริ่มต้น MCP Server ในโหมด Streamable HTTP

ก่อนกำหนดค่า VS Code คุณต้องเริ่มต้น MCP server ในโหมด Streamable HTTP โปรดดูส่วน การเริ่มต้น Local MCP Server สำหรับคำแนะนำโดยละเอียด

ขั้นตอนที่ 2: กำหนดค่า VS Code

ดู ใช้ MCP servers ใน VS Code สำหรับการกำหนดค่าโดยละเอียด

คุณสามารถสร้างหรืออัปเดต .vscode/mcp.json โดยตรงด้วยการกำหนดค่าต่อไปนี้:

{
  "servers": {
    "Instana MCP Server": {
      "command": "npx",
      "args": [
        "mcp-remote", "http://0.0.0.0:8080/mcp/",
        "--allow-http",
        "--header", "instana-base-url: https://your-instana-instance.instana.io",
        "--header", "instana-api-token: your_instana_api_token"
      ],
      "env": {
        "PATH": "/usr/local/bin:/bin:/usr/bin",
        "SHELL": "/bin/sh"
      }
    }
  }
}

หมายเหตุ: แทนที่ค่าต่อไปนี้ด้วยการกำหนดค่าจริงของคุณ:

  • instana-base-url: URL อินสแตนซ์ Instana ของคุณ
  • instana-api-token: โทเค็น API Instana ของคุณ
  • command: อัปเดตพาธ npx ให้ตรงกับการติดตั้ง Node.js ของระบบคุณ (เช่น /path/to/your/node/bin/npx)
  • Environment variables: ปรับ PATH และ environment variables อื่นๆ ตามความจำเป็นสำหรับระบบของคุณ

โหมด Stdio

ขั้นตอนที่ 1: สร้างการกำหนดค่า VS Code MCP

การใช้ CLI (การติดตั้ง PyPI - แนะนำ):

สร้าง .vscode/mcp.json ในรากโปรเจกต์ของคุณ:

ตัวเลือก 1: การใช้ environment variables ใน config:

{
  "servers": {
    "Instana MCP Server": {
      "command": "mcp-instana",
      "args": ["--transport", "stdio"],
      "env": {
        "INSTANA_BASE_URL": "https://your-instana-instance.instana.io",
        "INSTANA_API_TOKEN": "your_instana_api_token"
      }
    }
  }
}

ตัวเลือก 2: การใช้แฟล็ก --env (วิธีทางเลือก):

{
  "servers": {
    "Instana MCP Server": {
      "command": "mcp-instana",
      "args": [
        "--transport", "stdio",
        "--env", "INSTANA_BASE_URL=https://your-instana-instance.instana.io",
        "--env", "INSTANA_API_TOKEN=your_instana_api_token"
      ]
    }
  }
}

การใช้ Development Installation:

สร้าง .vscode/mcp.json ในรากโปรเจกต์ของคุณ:

ตัวเลือก 1: การใช้ environment variables ใน config:

{
  "servers": {
    "Instana MCP Server": {
      "command": "uv",
      "args": [
        "--directory",
        "/absolute/path/to/your/project/mcp-instana",
        "run",
        "src/core/server.py"
      ],
      "env": {
        "INSTANA_BASE_URL": "https://your-instana-instance.instana.io",
        "INSTANA_API_TOKEN": "your_instana_api_token"
      }
    }
  }
}

ตัวเลือก 2: การใช้แฟล็ก --env (วิธีทางเลือก):

{
  "servers": {
    "Instana MCP Server": {
      "command": "uv",
      "args": [
        "--directory",
        "/absolute/path/to/your/project/mcp-instana",
        "run",
        "src/core/server.py",
        "--env", "INSTANA_BASE_URL=https://your-instana-instance.instana.io",
        "--env", "INSTANA_API_TOKEN=your_instana_api_token"
      ]
    }
  }
}

หมายเหตุ: แทนที่ค่าต่อไปนี้ด้วยการกำหนดค่าจริงของคุณ:

  • สำหรับการติดตั้ง CLI: ตรวจสอบให้แน่ใจว่า mcp-instana อยู่ใน PATH ของคุณ
  • สำหรับ development installation:
    • command: อัปเดตพาธ uv ให้ตรงกับการติดตั้ง uv ของระบบคุณ (เช่น /path/to/your/uv/bin/uv หรือ /usr/local/bin/uv)
    • --directory: อัปเดตด้วยพาธสัมบูรณ์ไปยังไดเรกทอรีโปรเจกต์ mcp-instana ของคุณ
  • INSTANA_BASE_URL: URL อินสแตนซ์ Instana ของคุณ
  • INSTANA_API_TOKEN: โทเค็น API Instana ของคุณ

ขั้นตอนที่ 2: จัดการ Server ใน VS Code

  1. เปิด .vscode/mcp.json - คุณจะเห็นตัวควบคุมการจัดการ server ที่ด้านบน
  2. คลิก Start ถัดจาก Instana MCP Server เพื่อเริ่มต้น server
  3. สถานะการทำงานพร้อมกับจำนวนเครื่องมือบ่งชี้ว่า server กำลังทำงาน

ขั้นตอนที่ 3: ทดสอบการรวม

สลับไปที่โหมด Agent ใน GitHub Copilot และโหลดเครื่องมือใหม่ นี่คือตัวอย่างการตอบกลับของ GitHub Copilot:

GitHub Copilot Response

Mistral AI

Mistral AI รองรับการรวม MCP ผ่านโหมด Streamable HTTP เท่านั้น

ขั้นตอนที่ 1: เปิด MCP Server ในโหมด Streamable HTTP

เริ่มต้น MCP server ในโหมด Streamable HTTP โดยระบุข้อมูลประจำตัว Instana ของคุณ รันคำสั่งต่อไปนี้:

uv run src/core/server.py --transport streamable-http \
  --api-token "your_instana_api_token" \
  --base-url "https://your-instana-instance.instana.io" \
  --port 8080

ขั้นตอนที่ 2: ตั้งค่าการส่งต่อพอร์ตด้วย Ngrok

กำหนดค่าการส่งต่อพอร์ตเพื่อเปิดเผย local server ของคุณ ทำตาม เอกสารการตั้งค่า Ngrok สำหรับคำแนะนำโดยละเอียด

ขั้นตอนที่ 3: กำหนดค่า Mistral AI

  1. ไปที่แท็บ Intelligence ในแถบด้านข้างซ้ายและเลือก Connectors Mistral HomePage

  2. คลิก Add Connector Connector

  3. สร้าง custom connector โดยป้อนชื่อ connector และ URL MCP server ที่ส่งต่อด้วย Ngrok Custom Connector

  4. เริ่มเซสชันแชทใหม่และตรวจสอบว่าเครื่องมือ MCP เปิดใช้งานอยู่ คุณสามารถดูการตอบกลับได้ที่นี่ Testing MCP connection Response

ฟีเจอร์ที่รองรับ

  • การจัดการแอปพลิเคชันและโครงสร้างพื้นฐานแบบรวมศูนย์ (manage_instana_resources)
    • เมตริกแอปพลิเคชัน
      • สอบถามเมตริกแอปพลิเคชันด้วยการกรองที่ยืดหยุ่น
      • แสดงรายการบริการและปลายทาง
      • จัดกลุ่มตามแท็กและรวมเมตริก
    • การกำหนดค่าการแจ้งเตือนแอปพลิเคชัน
      • ค้นหาการกำหนดค่าการแจ้งเตือนที่ใช้งานอยู่
      • รับเวอร์ชันการกำหนดค่าการแจ้งเตือน
      • สร้าง อัปเดต และลบการกำหนดค่าการแจ้งเตือน
      • เปิดใช้งาน ปิดใช้งาน และกู้คืนการกำหนดค่าการแจ้งเตือน
      • อัปเดตเส้นฐานในอดีต
    • การกำหนดค่าการแจ้งเตือนแอปพลิเคชันส่วนกลาง
      • จัดการการกำหนดค่าการแจ้งเตือนส่วนกลาง
      • การควบคุมเวอร์ชันสำหรับการแจ้งเตือนส่วนกลาง
    • การตั้งค่าแอปพลิเคชัน
      • จัดการมุมมองแอปพลิเคชัน
      • กำหนดค่าปลายทางและบริการ
      • จัดการบริการด้วยตนเอง
    • แคตตาล็อกแอปพลิเคชัน
      • รับแคตตาล็อกแท็กแอปพลิเคชัน
      • รับแคตตาล็อกเมตริกแอปพลิเคชัน
  • การวิเคราะห์โครงสร้างพื้นฐาน (analyze_infrastructure)
    • การดึงข้อมูลสองรอบสำหรับการสอบถามเอนทิตี/เมตริก
    • รองรับแบบไดนามิกสำหรับประเภทเอนทิตีทั้งหมดจากแคตตาล็อก API ของ Instana (JVM, Kubernetes, Docker, โฮสต์, ฐานข้อมูล, คิวข้อความ และอื่นๆ)
    • ซิงโครไนซ์กับปลั๊กอินที่มีอยู่ในการติดตั้ง Instana ของคุณโดยอัตโนมัติ
    • การรวมเมตริกที่ยืดหยุ่น (สูงสุด, ค่าเฉลี่ย, ผลรวม ฯลฯ)
    • การกรองขั้นสูงตามแท็กและคุณสมบัติ
    • ความสามารถในการจัดกลุ่มและเรียงลำดับ
    • การสอบถามช่วงเวลา
  • การจัดการเหตุการณ์แบบรวมศูนย์ (manage_events)
    • การตรวจสอบเหตุการณ์
      • รับเหตุการณ์ตาม ID (operation="get_event")
      • รับเหตุการณ์ตาม ID หลายรายการ (operation="get_events_by_ids")
      • รับเหตุการณ์การตรวจสอบเอเจนต์ (operation="get_agent_monitoring_events")
      • รับเหตุการณ์ข้อมูล Kubernetes (operation="get_kubernetes_info_events")
      • รับเหตุการณ์ (operation="get_events")
    • การกำหนดเส้นทางอัจฉริยะไปยังเครื่องมือเหตุการณ์เฉพาะทาง
    • การตรวจสอบพารามิเตอร์แบบรวมศูนย์ (ช่วงเวลา, max_events)
    • รองรับช่วงเวลาภาษาธรรมชาติ ("24 ชั่วโมงที่ผ่านมา", "2 วันที่ผ่านมา")
    • การกรองและเพิ่มประสิทธิภาพเหตุการณ์
  • การจัดการเว็บไซต์แบบรวมศูนย์ (manage_website_resources)
    • การวิเคราะห์เว็บไซต์ (resource_type="analyze")
      • รับกลุ่มบีคอนเว็บไซต์ - ข้อมูลบีคอนที่จัดกลุ่ม/รวม (operation="get_beacon_groups")
      • รับบีคอนเว็บไซต์ - ข้อมูลบีคอนแต่ละรายการพร้อมการแบ่งหน้า (operation="get_beacons")
      • การตรวจสอบแท็กอัตโนมัติและเวิร์กโฟลว์การดึงข้อมูลตามแคตตาล็อก
      • การสรุปการตอบสนอง (ลดเพย์โหลด 70-80%)
      • รองรับบีคอนหลายประเภท: PAGELOAD, PAGECHANGE, RESOURCELOAD, CUSTOM, HTTPREQUEST, ERROR
    • แคตตาล็อกเว็บไซต์ (resource_type="catalog")
      • รับแคตตาล็อกเมตริกเว็บไซต์ (operation="get_metrics")
      • รับแคตตาล็อกแท็กเว็บไซต์ตามประเภทบีคอนและกรณีการใช้งาน (operation="get_tag_catalog")
    • การกำหนดค่าเว็บไซต์ (resource_type="configuration")
      • รับเว็บไซต์ทั้งหมด (operation="get_all")
      • รับเว็บไซต์ตาม ID หรือชื่อพร้อมการแก้ไขชื่ออัตโนมัติ (operation="get")
    • การกำหนดค่าขั้นสูง - อ่านอย่างเดียว (resource_type="advanced_config")
      • รับการกำหนดค่าตำแหน่งทางภูมิศาสตร์ (operation="get_geo_config")
      • รับการกำหนดค่าการปิดบัง IP (operation="get_ip_masking")
      • รับกฎการแมปทางภูมิศาสตร์ (operation="get_geo_rules")
  • การจัดการระบบอัตโนมัติแบบรวมศูนย์ (manage_automation)
    • แคตตาล็อกการดำเนินการ (resource_type="catalog")
      • แสดงรายการการดำเนินการอัตโนมัติที่มีอยู่ทั้งหมด (operation="get_actions")
      • รับข้อมูลโดยละเอียดเกี่ยวกับการดำเนินการเฉพาะ (operation="get_action_details")
      • ค้นหาการดำเนินการที่ตรงกันตามชื่อ/คำอธิบาย (operation="get_action_matches")
      • รับการดำเนินการที่ตรงกันตาม ID แอปพลิเคชันหรือสแนปช็อตและช่วงเวลา (operation="get_action_matches_by_id_and_time_window")
      • รับประเภทการดำเนินการที่มีอยู่ (operation="get_action_types")
      • รับแท็กการดำเนินการที่มีอยู่ (operation="get_action_tags")
    • ประวัติการดำเนินการ (resource_type="history")
      • แสดงรายการอินสแตนซ์การดำเนินการพร้อมการกรอง (operation="list")
      • รับรายละเอียดของการดำเนินการเฉพาะ (operation="get_details")
  • แดชบอร์ดแบบกำหนดเอง (manage_custom_dashboards)
    • รับแดชบอร์ดแบบกำหนดเองทั้งหมด
    • รับแดชบอร์ดเฉพาะตาม ID
    • สร้างแดชบอร์ดแบบกำหนดเองใหม่
    • อัปเดตแดชบอร์ดแบบกำหนดเองที่มีอยู่
    • ลบแดชบอร์ดแบบกำหนดเอง
    • รับผู้ใช้ที่สามารถแชร์แดชบอร์ดได้
    • รับโทเค็น API ที่สามารถแชร์แดชบอร์ดได้

เครื่องมือที่มีอยู่

เครื่องมือหมวดหมู่คำอธิบาย
manage_applicationsแอปพลิเคชันและโครงสร้างพื้นฐานเครื่องมือรวมศูนย์สำหรับจัดการเมตริกแอปพลิเคชัน การกำหนดค่าการแจ้งเตือน การตั้งค่า และแคตตาล็อก
manage_websitesการตรวจสอบเว็บไซต์เราเตอร์อัจฉริยะรวมศูนย์สำหรับการวิเคราะห์เว็บไซต์ แคตตาล็อก การกำหนดค่า และการดำเนินการกำหนดค่าขั้นสูง
manage_custom_dashboardsแดชบอร์ดแบบกำหนดเองเครื่องมือรวมศูนย์สำหรับจัดการการดำเนินการ CRUD ของแดชบอร์ดแบบกำหนดเอง
analyze_infrastructureการวิเคราะห์โครงสร้างพื้นฐานการวิเคราะห์โครงสร้างพื้นฐานสองรอบพร้อมการดึงข้อมูลเอนทิตี/เมตริก
manage_automationระบบอัตโนมัติเราเตอร์อัจฉริยะรวมศูนย์สำหรับระบบอัตโนมัติ: เรียกดูแคตตาล็อกการดำเนินการและดูประวัติการดำเนินการ
manage_eventsเหตุการณ์เราเตอร์อัจฉริยะรวมศูนย์สำหรับการตรวจสอบเหตุการณ์: รับเหตุการณ์ตาม ID, รับเหตุการณ์ตาม ID หลายรายการ, เหตุการณ์ Kubernetes, เหตุการณ์การตรวจสอบเอเจนต์ และเหตุการณ์ทั้งหมด
manage_sloการจัดการ SLOเราเตอร์อัจฉริยะรวมศูนย์สำหรับการกำหนดค่า SLO รายงาน การแจ้งเตือน และหน้าต่างการแก้ไข พร้อมการจัดการเขตเวลาอัจฉริยะ
manage_releasesการจัดการรีลีสเราเตอร์อัจฉริยะรวมศูนย์สำหรับการติดตามรีลีส: แสดงรายการรีลีสพร้อมการแบ่งหน้าและการกรองชื่อ, รับรายละเอียดรีลีส, สร้าง/อัปเดต/ลบรีลีสพร้อมรองรับเขตเวลา
manage_maintenance_windowsหน้าต่างการบำรุงรักษาเราเตอร์อัจฉริยะรวมศูนย์สำหรับการจัดการวงจรชีวิตหน้าต่างการบำรุงรักษา: สร้าง, แก้ไข, ปิด, และแสดงรายการหน้าต่างการบำรุงรักษา พร้อมรองรับเทมเพลตและการผสานรวม ServiceNow
manage_mobile_appsการตรวจสอบแอปมือถือเราเตอร์อัจฉริยะรวมศูนย์สำหรับการตรวจสอบแอปมือถือ: วิเคราะห์บีคอน, เมตริกประสิทธิภาพ, การกำหนดค่า, และการจัดการการแจ้งเตือน

👉 สำหรับเอกสารเครื่องมือโดยละเอียด ความสามารถ และข้อมูลอ้างอิงทางเทคนิค โปรดดู เครื่องมือและตัวอย่าง

การกรองเครื่องมือ

เซิร์ฟเวอร์ MCP รองรับการโหลดเครื่องมือแบบเลือกเพื่อเพิ่มประสิทธิภาพและลดการใช้ทรัพยากร คุณสามารถเปิดใช้งานเฉพาะหมวดหมู่เครื่องมือที่คุณต้องการสำหรับกรณีการใช้งานเฉพาะของคุณ

หมวดหมู่เครื่องมือที่มีอยู่

  • router: การจัดการแอปพลิเคชันและโครงสร้างพื้นฐานแบบรวมศูนย์

    • manage_instana_resources: เครื่องมือเดียวสำหรับเมตริกแอปพลิเคชัน การกำหนดค่าการแจ้งเตือน การตั้งค่า และแคตตาล็อก
    • รองรับมุมมองแอปพลิเคชัน ปลายทาง บริการ และบริการด้วยตนเอง
    • จัดการทั้งการกำหนดค่าการแจ้งเตือนเฉพาะแอปพลิเคชันและส่วนกลาง
    • ให้การเข้าถึงแคตตาล็อกแท็กแอปพลิเคชันและแคตตาล็อกเมตริก
  • dashboard: การจัดการแดชบอร์ดแบบกำหนดเอง

    • manage_custom_dashboards: การดำเนินการ CRUD สำหรับแดชบอร์ดแบบกำหนดเอง
    • รองรับการสร้างแดชบอร์ด การเรียกดู การอัปเดต และการลบ
    • จัดการผู้ใช้ที่สามารถแชร์และโทเค็น API สำหรับแดชบอร์ด
  • infra: เครื่องมือวิเคราะห์โครงสร้างพื้นฐาน

    • analyze_infrastructure: การวิเคราะห์โครงสร้างพื้นฐานสองรอบพร้อมการดึงข้อมูลเอนทิตี/เมตริก
    • รองรับแบบไดนามิกสำหรับประเภทเอนทิตีทั้งหมดที่มีในการติดตั้ง Instana ของคุณ (โหลดจากแคตตาล็อก API โดยอัตโนมัติ)
    • รวมถึง JVM, Kubernetes, Docker, โฮสต์, ฐานข้อมูล, คิวข้อความ และประเภทเอนทิตีแบบกำหนดเองหรือที่เพิ่มใหม่
    • การรวมเมตริก การกรอง การจัดกลุ่ม และการสอบถามช่วงเวลาที่ยืดหยุ่น
  • automation: เครื่องมือการดำเนินการอัตโนมัติ

    • manage_automation: เราเตอร์อัจฉริยะรวมศูนย์สำหรับแคตตาล็อกระบบอัตโนมัติและประวัติการดำเนินการ
    • แคตตาล็อกการดำเนินการ: เรียกดูการดำเนินการ, รับรายละเอียด, ค้นหาตามชื่อ/คำอธิบาย, กรองตาม ID แอปพลิเคชันหรือสแนปช็อต
    • ประวัติการดำเนินการ: แสดงรายการอินสแตนซ์การดำเนินการพร้อมการกรอง, รับรายละเอียดการดำเนินการ
  • events: เครื่องมือตรวจสอบเหตุการณ์

    • เหตุการณ์: เหตุการณ์ Kubernetes, การตรวจสอบเอเจนต์ และการติดตามเหตุการณ์ระบบ
  • website: เครื่องมือตรวจสอบเว็บไซต์

    • เมตริกเว็บไซต์: การวัดประสิทธิภาพสำหรับเว็บไซต์
    • แคตตาล็อกเว็บไซต์: ข้อมูลเมตาและคำจำกัดความของเว็บไซต์
    • การวิเคราะห์เว็บไซต์: การวิเคราะห์ประสิทธิภาพเว็บไซต์
    • การกำหนดค่าเว็บไซต์: การจัดการการกำหนดค่าเว็บไซต์
  • slo: การจัดการวัตถุประสงค์ระดับบริการ (SLO)

    • manage_slo: เราเตอร์อัจฉริยะรวมศูนย์สำหรับการดำเนินการ SLO ที่ครอบคลุม
    • การจัดการการกำหนดค่า: สร้าง, อ่าน, อัปเดต, ลบการกำหนดค่า SLO พร้อมรองรับตัวบ่งชี้ตามเวลาและตามเหตุการณ์
    • การสร้างรายงาน: สร้างรายงาน SLO โดยละเอียดพร้อมค่า SLI, งบประมาณข้อผิดพลาด, อัตราการเผาผลาญ และแผนภูมิอนุกรมเวลา
    • การกำหนดค่าการแจ้งเตือน: จัดการการกำหนดค่าการแจ้งเตือน SLO สำหรับการตรวจสอบงบประมาณข้อผิดพลาดและการติดตามอัตราการเผาผลาญ
    • หน้าต่างการแก้ไข: สร้างและจัดการหน้าต่างการบำรุงรักษาเพื่อแยกเวลาหยุดทำงานที่วางแผนไว้ออกจากการคำนวณ SLO
    • การจัดการเขตเวลาอัจฉริยะ: การดึงข้อมูลเขตเวลาอัตโนมัติสำหรับอินพุตวันที่เวลาเพื่อให้แน่ใจว่าบริบทเวลาถูกต้อง
    • การดึงข้อมูลสองรอบ: การรวบรวมพารามิเตอร์แบบโต้ตอบสำหรับการดำเนินการที่ซับซ้อนซึ่งต้องการอินพุตหลายรายการ
  • releases: การติดตามรีลีสและการจัดการการปรับใช้

    • manage_releases: เราเตอร์อัจฉริยะรวมศูนย์สำหรับการดำเนินการรีลีส
    • แสดงรายการรีลีส: รับรีลีสทั้งหมดพร้อมการแบ่งหน้าที่มีประสิทธิภาพ (page_number, page_size) และการกรองตามชื่อ
    • รายละเอียดรีลีส: เรียกดูข้อมูลรีลีสเฉพาะตาม ID รวมถึงแอปพลิเคชัน บริการ และขอบเขต
    • สร้าง/อัปเดต/ลบ: การดำเนินการ CRUD เต็มรูปแบบสำหรับการจัดการรีลีส
    • การจัดการเขตเวลาอัจฉริยะ: การดึงข้อมูลเขตเวลาอัตโนมัติสำหรับเวลาเริ่มต้นรีลีส
    • การแบ่งหน้าที่มีประสิทธิภาพ: หลีกเลี่ยงการดึงข้อมูลซ้ำซ้อนด้วยการนำทางตามหน้าที่เหมาะสม
    • การกรองชื่อ: การจับคู่สตริงย่อยแบบไม่คำนึงถึงตัวพิมพ์เล็กใหญ่เพื่อค้นหารีลีสตามชื่อ
  • maintenance_window: การจัดการวงจรชีวิตหน้าต่างการบำรุงรักษา

    • manage_maintenance_windows: เราเตอร์อัจฉริยะรวมศูนย์สำหรับการดำเนินการหน้าต่างการบำรุงรักษา
    • การดำเนินการหน้าต่าง: สร้าง, แก้ไข, ปิด, และแสดงรายการหน้าต่างการบำรุงรักษา (ใช้งานอยู่, กำหนดเวลา, ทั้งหมด, หมดอายุ)
    • การดำเนินการแบบกลุ่ม: สร้างหน้าต่างการบำรุงรักษาสำหรับหลายแอปพลิเคชันพร้อมกัน
    • การรองรับเทมเพลต: เทมเพลตที่กำหนดไว้ล่วงหน้าสำหรับสถานการณ์ทั่วไป (deployment, database_migration, infrastructure_upgrade, emergency, routine)
    • หน้าต่างที่เกิดซ้ำ: รองรับหน้าต่างการบำรุงรักษาที่เกิดซ้ำโดยใช้รูปแบบ RFC 5545 RRULE
    • การผสานรวม ServiceNow: การผสานรวมเสริมกับคำขอเปลี่ยนแปลง ServiceNow
    • การตรวจสอบ: การตรวจสอบพารามิเตอร์ก่อนการสร้างหน้าต่าง
    • ระยะเวลาที่ยืดหยุ่น: ระบุระยะเวลาเป็นนาที ชั่วโมง หรือวัน
  • mobile_app: การตรวจสอบแอปพลิเคชันมือถือ

    • manage_mobile_apps: เราเตอร์อัจฉริยะแบบรวมศูนย์สำหรับการดำเนินการตรวจสอบแอปมือถือ
    • การวิเคราะห์บีคอน: สอบถามข้อมูลบีคอนของแอปมือถือด้วยการจัดกลุ่มและการกรอง
    • เมตริกประสิทธิภาพ: ติดตามระยะเวลาเซสชัน อัตราการแครช และประสิทธิภาพคำขอ HTTP
    • การวิเคราะห์ทางภูมิศาสตร์: วิเคราะห์การกระจายตัวของผู้ใช้ตามประเทศ เมือง และภูมิภาค
    • การวิเคราะห์อุปกรณ์: ตรวจสอบประสิทธิภาพในอุปกรณ์ แพลตฟอร์ม และเวอร์ชันระบบปฏิบัติการที่แตกต่างกัน
    • การจัดการการกำหนดค่า: จัดการการกำหนดค่าแอปมือถือ ตำแหน่งทางภูมิศาสตร์ และการตั้งค่าการปิดบัง IP
    • การจัดการการแจ้งเตือน: กำหนดค่าและจัดการการกำหนดค่าการแจ้งเตือนของแอปมือถือ

ตัวอย่างการใช้งาน

การใช้ CLI (การติดตั้ง PyPI)

# Enable only router (unified app/infra management) and events tools
mcp-instana --tools router,events --transport streamable-http

# Enable only infrastructure analysis tools
mcp-instana --tools infra --transport streamable-http

# Enable router and infrastructure analysis
mcp-instana --tools router,infra --transport streamable-http

# Enable events and website tools
mcp-instana --tools events,website --transport streamable-http

# Enable dashboard and router tools
mcp-instana --tools dashboard,router --transport streamable-http

# Enable releases and events tools
mcp-instana --tools releases,events --transport streamable-http

# Enable maintenance window and events tools
mcp-instana --tools maintenance_window,events --transport streamable-http

# Enable all tools (default behavior)
mcp-instana --transport streamable-http

# List all available tool categories and their tools
mcp-instana --list-tools

การใช้การติดตั้งสำหรับการพัฒนา

# Enable only router (unified app/infra management) and events tools
uv run src/core/server.py --tools router,events --transport streamable-http

# Enable only infrastructure analysis tools
uv run src/core/server.py --tools infra --transport streamable-http

# Enable router and infrastructure analysis
uv run src/core/server.py --tools router,infra --transport streamable-http

# Enable events and website tools
uv run src/core/server.py --tools events,website --transport streamable-http

# Enable dashboard and router tools
uv run src/core/server.py --tools dashboard,router --transport streamable-http

# Enable releases and events tools
uv run src/core/server.py --tools releases,events --transport streamable-http

# Enable maintenance window and events tools
uv run src/core/server.py --tools maintenance_window,events --transport streamable-http

# Enable all tools (default behavior)
uv run src/core/server.py --transport streamable-http

# List all available tool categories and their tools
uv run src/core/server.py --list-tools

ประโยชน์ของการกรองเครื่องมือ

  • ประสิทธิภาพ: ลดเวลาเริ่มต้นและการใช้หน่วยความจำ
  • ความปลอดภัย: จำกัดการเปิดเผยเฉพาะ API ที่จำเป็น
  • ความชัดเจน: มุ่งเน้นไปที่กรณีการใช้งานเฉพาะ (เช่น การตรวจสอบโครงสร้างพื้นฐานเท่านั้น)
  • ประสิทธิภาพของทรัพยากร: ลดการใช้ CPU และเครือข่าย

👉 สำหรับตัวอย่างการใช้งานและพรอมต์ โปรดดู พรอมต์ตัวอย่าง

การปรับใช้ด้วย Docker

เซิร์ฟเวอร์ MCP Instana สามารถปรับใช้โดยใช้ Docker สำหรับสภาพแวดล้อมการผลิต การตั้งค่า Docker ได้รับการปรับให้เหมาะสมเพื่อความปลอดภัย ประสิทธิภาพ และการใช้ทรัพยากรน้อยที่สุด

สถาปัตยกรรม Docker

โปรเจกต์ใช้ กลยุทธ์การจัดการการพึ่งพาสองไฟล์:

pyproject.toml

  • วัตถุประสงค์: การกำหนดค่าแบบรวมศูนย์สำหรับทั้งการพัฒนาและการผลิต
  • การพึ่งพา: การพึ่งพาที่จำเป็นทั้งหมดพร้อมการพึ่งพาสำหรับการพัฒนาที่เป็นทางเลือก
  • การใช้งาน: การพัฒนาในเครื่อง การทดสอบ CI/CD และการสร้าง Docker สำหรับการผลิต
  • ประโยชน์: แหล่งข้อมูลเดียวสำหรับการพึ่งพาทั้งหมด ลดความซับซ้อนในการบำรุงรักษา

การสร้างอิมเมจ Docker

ข้อกำหนดเบื้องต้น

  • ติดตั้งและรัน Docker แล้ว
  • เข้าถึงซอร์สโค้ดของโปรเจกต์
  • Docker BuildKit สำหรับการสร้างหลายสถาปัตยกรรม (เปิดใช้งานโดยค่าเริ่มต้นใน Docker เวอร์ชันล่าสุด)

คำสั่งสร้าง

# Build the optimized production image
docker build -t mcp-instana:latest .

# Build with a specific tag
docker build -t mcp-instana:<image_tag> .

#### **Run Command**
# Run the container (no credentials needed in the container)
docker run -p 8080:8080 mcp-instana

# Run with custom port
docker run -p 8081:8080 mcp-instana

📖 สำหรับเอกสาร Docker ที่ครอบคลุม รวมถึงการสร้างหลายสถาปัตยกรรม การตั้งค่า Docker Compose แนวทางปฏิบัติที่ดีที่สุดด้านความปลอดภัย และตัวอย่างการปรับใช้สำหรับการผลิต โปรดดู DOCKER.md

การแก้ไขปัญหา

ปัญหาเกี่ยวกับ Docker

คอนเทนเนอร์ไม่เริ่มทำงาน

# Check container logs
docker logs <container_id>
# Common issues:
# 1. Port already in use
# 2. Invalid container image
# 3. Missing dependencies
# Credentials are passed via HTTP headers from the MCP client

ปัญหาการเชื่อมต่อ

# Test container connectivity
docker exec -it <container_id> curl http://127.0.0.1:8080/health
# Check port mapping
docker port <container_id>

ปัญหาด้านประสิทธิภาพ

# Check container resource usage
docker stats <container_id>
# Monitor container health
docker inspect <container_id> | grep -A 10 Health

ปัญหาทั่วไป

  • GitHub Copilot

    • หากคุณพบปัญหากับ GitHub Copilot ให้ลองเริ่ม/หยุด/รีสตาร์ทเซิร์ฟเวอร์ในไฟล์ mcp.json และให้มีเซิร์ฟเวอร์ทำงานเพียงตัวเดียวในแต่ละครั้ง
  • ปัญหาเกี่ยวกับใบรับรอง

    • หากคุณพบปัญหาเกี่ยวกับใบรับรอง เช่น [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate:
      • ตรวจสอบว่าคุณสามารถเข้าถึงปลายทาง Instana API โดยใช้ curl หรือ wget พร้อมการตรวจสอบ SSL ได้หรือไม่
        • หากใช้งานได้ สภาพแวดล้อม Python ของคุณอาจไม่สามารถตรวจสอบใบรับรองได้ และอาจไม่สามารถเข้าถึงใบรับรองเดียวกันกับเชลล์หรือระบบของคุณ ตรวจสอบให้แน่ใจว่าสภาพแวดล้อม Python ของคุณใช้ใบรับรองของระบบ (macOS) คุณสามารถทำได้โดยการติดตั้งใบรับรองลงใน Python: //Applications/Python\ 3.13/Install\ Certificates.command
      • หากคุณไม่สามารถเข้าถึงปลายทางด้วยการตรวจสอบ SSL ได้ ให้ลองโดยไม่ใช้ หากใช้งานได้ ให้ตรวจสอบใบรับรอง CA ของระบบและตรวจสอบให้แน่ใจว่าเป็นเวอร์ชันล่าสุด