crates.io · Capability

crates.io Sparse Index — Index

crates.io Sparse Index — Index. Self-contained Naftiko capability covering the sparse index configuration and per-crate index lookups served from index.crates.io.

crates.io Sparse Index — Index is a Naftiko capability published by crates.io, one of 4 capabilities the APIs.io network indexes for this provider. It bundles 2 operations across the GET method.

The capability includes 2 read-only operations. Lead operation: Get Registry Configuration. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include Cratesio, Index, Sparse, and Rust.

Run with Naftiko CratesioIndexSparseRust

What You Can Do

GET
Getregistryconfig — Get Registry Configuration
/v1/config.json
GET
Getindexlong — Get Index For Four-Plus-Character Crate
/v1/index/{first_two}/{second_two}/{crate}

MCP Tools

crates-index-config

Get Registry Configuration

read-only idempotent
crates-index-lookup

Get Index For Four-Plus-Character Crate

read-only idempotent

Capability Spec

sparse-index.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: crates.io Sparse Index — Index
  description: 'crates.io Sparse Index — Index. Self-contained Naftiko capability covering the sparse index configuration and per-crate index lookups served from index.crates.io.'
  tags:
  - Cratesio
  - Index
  - Sparse
  - Rust
  created: '2026-05-25'
  modified: '2026-05-25'
binds: []
capability:
  consumes:
  - type: http
    namespace: crates-index
    baseUri: https://index.crates.io
    description: crates.io Sparse Index business capability.
    resources:
    - name: config-json
      path: /config.json
      operations:
      - name: getregistryconfig
        method: GET
        description: Get Registry Configuration
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters: []
    - name: index-long
      path: /{first_two}/{second_two}/{crate}
      operations:
      - name: getindexlong
        method: GET
        description: Get Index For Four-Plus-Character Crate
        outputRawFormat: text
        outputParameters:
        - name: result
          type: string
          value: $.
        inputParameters:
        - name: first_two
          in: path
          type: string
          required: true
        - name: second_two
          in: path
          type: string
          required: true
        - name: crate
          in: path
          type: string
          required: true
    authentication:
      type: none
  exposes:
  - type: rest
    namespace: crates-index-rest
    port: 8080
    description: REST adapter for the crates.io sparse index.
    resources:
    - path: /v1/config.json
      name: registry-config
      description: REST surface for the registry config document.
      operations:
      - method: GET
        name: getregistryconfig
        description: Get Registry Configuration
        call: crates-index.getregistryconfig
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/index/{first_two}/{second_two}/{crate}
      name: index-long
      description: REST surface for per-crate index lookups (4+ chars).
      operations:
      - method: GET
        name: getindexlong
        description: Get Index For Four-Plus-Character Crate
        call: crates-index.getindexlong
        with:
          first_two: rest.path.first_two
          second_two: rest.path.second_two
          crate: rest.path.crate
        outputParameters:
        - type: string
          mapping: $.
  - type: mcp
    namespace: crates-index-mcp
    port: 9090
    transport: http
    description: MCP adapter for the crates.io sparse index.
    tools:
    - name: crates-index-config
      description: Get Registry Configuration
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: crates-index.getregistryconfig
      outputParameters:
      - type: object
        mapping: $.
    - name: crates-index-lookup
      description: Get Index For Four-Plus-Character Crate
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: crates-index.getindexlong
      with:
        first_two: tools.first_two
        second_two: tools.second_two
        crate: tools.crate
      outputParameters:
      - type: string
        mapping: $.