Naftiko · Capability

Network Api Aggregation Capability

A capability that aggregates network APIs (Cisco DNA, Meraki, Aruba) into a unified network-state surface for ops agents.

Run with Naftiko NaftikoNetworkAggregation

What You Can Do

GET
List networks
/networks

MCP Tools

list-organizations

read-only
list-networks

read-only
list-devices

read-only

Capability Spec

network-api-aggregation-capability.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  title: Network Api Aggregation Capability
  description: A capability that aggregates network APIs (Cisco DNA, Meraki, Aruba) into a unified network-state surface for ops agents.
  tags: [Naftiko, Network, Aggregation]
  created: '2026-05-01'
  modified: '2026-05-04'
binds:
- namespace: meraki-env
  keys: {MERAKI_TOKEN: MERAKI_TOKEN}
capability:
  consumes:
  - namespace: meraki
    type: http
    baseUri: https://api.meraki.com
    authentication: {type: bearer, token: '{{MERAKI_TOKEN}}'}
    resources:
    - {name: organizations, path: /api/v1/organizations, operations: [{name: list-organizations, method: GET}]}
    - name: networks
      path: /api/v1/organizations/{{org_id}}/networks
      operations:
      - {name: list-networks, method: GET, inputParameters: [{name: org_id, in: path}]}
    - name: network-devices
      path: /api/v1/networks/{{network_id}}/devices
      operations:
      - {name: list-devices, method: GET, inputParameters: [{name: network_id, in: path}]}
  exposes:
  - type: rest
    address: 0.0.0.0
    port: 8080
    namespace: network-api-aggregation-capability-rest
    description: REST surface for aggregated network state.
    resources:
    - {name: networks, path: /networks, operations: [{method: GET, name: list-networks, call: meraki.list-organizations}]}
  - type: mcp
    address: 0.0.0.0
    port: 3010
    namespace: network-api-aggregation-capability-mcp
    description: MCP for aggregated network state.
    tools:
    - {name: list-organizations, hints: {readOnly: true}, call: meraki.list-organizations}
    - name: list-networks
      hints: {readOnly: true}
      inputParameters: [{name: org_id, type: string, required: true}]
      call: meraki.list-networks
    - name: list-devices
      hints: {readOnly: true}
      inputParameters: [{name: network_id, type: string, required: true}]
      call: meraki.list-devices
  - type: skill
    address: 0.0.0.0
    port: 3011
    namespace: network-api-aggregation-capability-skills
    description: Skill for network aggregation.
    skills:
    - name: network-api-aggregation-capability
      description: Network API aggregation.
      location: file:///opt/naftiko/skills/network-api-aggregation-capability
      allowed-tools: list-organizations,list-networks,list-devices
      tools:
      - {name: list-organizations, from: {sourceNamespace: network-api-aggregation-capability-mcp, action: list-organizations}}
      - {name: list-networks, from: {sourceNamespace: network-api-aggregation-capability-mcp, action: list-networks}}
      - {name: list-devices, from: {sourceNamespace: network-api-aggregation-capability-mcp, action: list-devices}}