Gremlin · Capability

Gremlin API — grafana

Gremlin API — grafana. 4 operations. Lead operation: Get all alerts. Self-contained Naftiko capability covering one Gremlin business surface.

Run with Naftiko Gremlingrafana

What You Can Do

GET
Alerts — Get all alerts
/v1/grafana/alerts
GET
Dashboards — Get all dashboards
/v1/grafana/dashboards
GET
Searchmonitors1 — Searches for Grafana alert monitors
/v1/grafana/monitors
GET
Rules — Get all rules
/v1/grafana/rules

MCP Tools

get-all-alerts

Get all alerts

read-only idempotent
get-all-dashboards

Get all dashboards

read-only idempotent
searches-grafana-alert-monitors

Searches for Grafana alert monitors

read-only idempotent
get-all-rules

Get all rules

read-only idempotent

Capability Spec

gremlin-grafana.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Gremlin API — grafana
  description: 'Gremlin API — grafana. 4 operations. Lead operation: Get all alerts. Self-contained Naftiko capability covering
    one Gremlin business surface.'
  tags:
  - Gremlin
  - grafana
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    GREMLIN_API_KEY: GREMLIN_API_KEY
capability:
  consumes:
  - type: http
    namespace: gremlin-grafana
    baseUri: https://api.gremlin.com/v1
    description: Gremlin API — grafana business capability. Self-contained, no shared references.
    resources:
    - name: grafana-alerts
      path: /grafana/alerts
      operations:
      - name: alerts
        method: GET
        description: Get all alerts
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: query
          type: string
        - name: grafanaUri
          in: query
          type: string
          required: true
        - name: teamId
          in: query
          type: string
          description: Required when using company session token.
          required: true
    - name: grafana-dashboards
      path: /grafana/dashboards
      operations:
      - name: dashboards
        method: GET
        description: Get all dashboards
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: query
          type: string
        - name: grafanaUri
          in: query
          type: string
          required: true
        - name: teamId
          in: query
          type: string
          description: Required when using company session token.
          required: true
    - name: grafana-monitors
      path: /grafana/monitors
      operations:
      - name: searchmonitors1
        method: GET
        description: Searches for Grafana alert monitors
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: searchString
          in: query
          type: string
        - name: grafanaIntegrationName
          in: query
          type: string
          required: true
        - name: teamId
          in: query
          type: string
          description: Required when using company session token.
          required: true
    - name: grafana-rules
      path: /grafana/rules
      operations:
      - name: rules
        method: GET
        description: Get all rules
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: query
          type: string
        - name: grafanaUri
          in: query
          type: string
          required: true
        - name: teamId
          in: query
          type: string
          description: Required when using company session token.
          required: true
  exposes:
  - type: rest
    namespace: gremlin-grafana-rest
    port: 8080
    description: REST adapter for Gremlin API — grafana. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/grafana/alerts
      name: grafana-alerts
      description: REST surface for grafana-alerts.
      operations:
      - method: GET
        name: alerts
        description: Get all alerts
        call: gremlin-grafana.alerts
        with:
          name: rest.name
          grafanaUri: rest.grafanaUri
          teamId: rest.teamId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/grafana/dashboards
      name: grafana-dashboards
      description: REST surface for grafana-dashboards.
      operations:
      - method: GET
        name: dashboards
        description: Get all dashboards
        call: gremlin-grafana.dashboards
        with:
          name: rest.name
          grafanaUri: rest.grafanaUri
          teamId: rest.teamId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/grafana/monitors
      name: grafana-monitors
      description: REST surface for grafana-monitors.
      operations:
      - method: GET
        name: searchmonitors1
        description: Searches for Grafana alert monitors
        call: gremlin-grafana.searchmonitors1
        with:
          searchString: rest.searchString
          grafanaIntegrationName: rest.grafanaIntegrationName
          teamId: rest.teamId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/grafana/rules
      name: grafana-rules
      description: REST surface for grafana-rules.
      operations:
      - method: GET
        name: rules
        description: Get all rules
        call: gremlin-grafana.rules
        with:
          name: rest.name
          grafanaUri: rest.grafanaUri
          teamId: rest.teamId
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: gremlin-grafana-mcp
    port: 9090
    transport: http
    description: MCP adapter for Gremlin API — grafana. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: get-all-alerts
      description: Get all alerts
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: gremlin-grafana.alerts
      with:
        name: tools.name
        grafanaUri: tools.grafanaUri
        teamId: tools.teamId
      outputParameters:
      - type: object
        mapping: $.
    - name: get-all-dashboards
      description: Get all dashboards
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: gremlin-grafana.dashboards
      with:
        name: tools.name
        grafanaUri: tools.grafanaUri
        teamId: tools.teamId
      outputParameters:
      - type: object
        mapping: $.
    - name: searches-grafana-alert-monitors
      description: Searches for Grafana alert monitors
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: gremlin-grafana.searchmonitors1
      with:
        searchString: tools.searchString
        grafanaIntegrationName: tools.grafanaIntegrationName
        teamId: tools.teamId
      outputParameters:
      - type: object
        mapping: $.
    - name: get-all-rules
      description: Get all rules
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: gremlin-grafana.rules
      with:
        name: tools.name
        grafanaUri: tools.grafanaUri
        teamId: tools.teamId
      outputParameters:
      - type: object
        mapping: $.