cdisc · Capability

CDISC Library API

The CDISC Library API is a REST API that delivers CDISC standards metadata to software applications that automate standards-based processes. It uses linked data to provide access to SDTM, ADaM, and other clinical data standards. Responses are available in JSON, XML, ODM, CSV, and Excel formats. Access requires a CDISC Library account and an API key obtained from the CDISC Library API Management (APIM) Developer Portal.

Run with Naftiko CdiscAPI

What You Can Do

GET
Listproducts — List all CDISC standards products
/mdr/products
GET
Listsdtmversions — List all SDTM standard versions
/mdr/sdtm
GET
Getsdtmversion — Get SDTM standard by version
/mdr/sdtm/{version}
GET
Listsdtmclasses — List SDTM domain classes for a version
/mdr/sdtm/{version}/classes
GET
Listsdtmdatasets — List SDTM datasets (domains) for a version
/mdr/sdtm/{version}/datasets
GET
Getsdtmdataset — Get SDTM dataset (domain) specification
/mdr/sdtm/{version}/datasets/{dataset}
GET
Listadamversions — List all ADaM standard versions
/mdr/adam
GET
Getadamversion — Get ADaM standard by version
/mdr/adam/{version}
GET
Listcdashversions — List all CDASH standard versions
/mdr/cdash
GET
Listbiomedicalconcepts — List CDISC Biomedical Concepts
/cosmos/v2/bc
GET
Getbiomedicalconcept — Get a specific Biomedical Concept
/cosmos/v2/bc/{conceptId}
GET
Listterminologypackages — List CDISC controlled terminology packages
/mdr/ct
GET
Listcodelists — List codelists in a terminology package
/mdr/ct/{packageDate}/codelists

MCP Tools

listproducts

List all CDISC standards products

read-only idempotent
listsdtmversions

List all SDTM standard versions

read-only idempotent
getsdtmversion

Get SDTM standard by version

read-only idempotent
listsdtmclasses

List SDTM domain classes for a version

read-only idempotent
listsdtmdatasets

List SDTM datasets (domains) for a version

read-only idempotent
getsdtmdataset

Get SDTM dataset (domain) specification

read-only idempotent
listadamversions

List all ADaM standard versions

read-only idempotent
getadamversion

Get ADaM standard by version

read-only idempotent
listcdashversions

List all CDASH standard versions

read-only idempotent
listbiomedicalconcepts

List CDISC Biomedical Concepts

read-only idempotent
getbiomedicalconcept

Get a specific Biomedical Concept

read-only idempotent
listterminologypackages

List CDISC controlled terminology packages

read-only idempotent
listcodelists

List codelists in a terminology package

read-only idempotent

Capability Spec

cdisc-capability.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: CDISC Library API
  description: The CDISC Library API is a REST API that delivers CDISC standards metadata to software applications that automate
    standards-based processes. It uses linked data to provide access to SDTM, ADaM, and other clinical data standards. Responses
    are available in JSON, XML, ODM, CSV, and Excel formats. Access requires a CDISC Library account and an API key obtained
    from the CDISC Library API Management (APIM) Developer Portal.
  tags:
  - Cdisc
  - API
  created: '2026-05-06'
  modified: '2026-05-06'
capability:
  consumes:
  - type: http
    namespace: cdisc
    baseUri: https://library.cdisc.org/api
    description: CDISC Library API HTTP API.
    authentication:
      type: apikey
      in: header
      name: api-key
      value: '{{CDISC_TOKEN}}'
    resources:
    - name: mdr-products
      path: /mdr/products
      operations:
      - name: listproducts
        method: GET
        description: List all CDISC standards products
        inputParameters:
        - name: Accept
          in: header
          type: string
          description: Response format (application/json, application/xml, text/csv)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: mdr-sdtm
      path: /mdr/sdtm
      operations:
      - name: listsdtmversions
        method: GET
        description: List all SDTM standard versions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: mdr-sdtm-version
      path: /mdr/sdtm/{version}
      operations:
      - name: getsdtmversion
        method: GET
        description: Get SDTM standard by version
        inputParameters:
        - name: version
          in: path
          type: string
          required: true
          description: SDTM version string (e.g., 3-3, 3-4, 2-0)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: mdr-sdtm-version-classes
      path: /mdr/sdtm/{version}/classes
      operations:
      - name: listsdtmclasses
        method: GET
        description: List SDTM domain classes for a version
        inputParameters:
        - name: version
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: mdr-sdtm-version-datasets
      path: /mdr/sdtm/{version}/datasets
      operations:
      - name: listsdtmdatasets
        method: GET
        description: List SDTM datasets (domains) for a version
        inputParameters:
        - name: version
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: mdr-sdtm-version-datasets-dataset
      path: /mdr/sdtm/{version}/datasets/{dataset}
      operations:
      - name: getsdtmdataset
        method: GET
        description: Get SDTM dataset (domain) specification
        inputParameters:
        - name: version
          in: path
          type: string
          required: true
        - name: dataset
          in: path
          type: string
          required: true
          description: SDTM domain abbreviation (e.g., AE, CM, DM)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: mdr-adam
      path: /mdr/adam
      operations:
      - name: listadamversions
        method: GET
        description: List all ADaM standard versions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: mdr-adam-version
      path: /mdr/adam/{version}
      operations:
      - name: getadamversion
        method: GET
        description: Get ADaM standard by version
        inputParameters:
        - name: version
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: mdr-cdash
      path: /mdr/cdash
      operations:
      - name: listcdashversions
        method: GET
        description: List all CDASH standard versions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: cosmos-v2-bc
      path: /cosmos/v2/bc
      operations:
      - name: listbiomedicalconcepts
        method: GET
        description: List CDISC Biomedical Concepts
        inputParameters:
        - name: packageDate
          in: query
          type: string
          description: Filter BCs by package release date (YYYY-MM-DD)
        - name: page
          in: query
          type: integer
        - name: pageSize
          in: query
          type: integer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: cosmos-v2-bc-conceptid
      path: /cosmos/v2/bc/{conceptId}
      operations:
      - name: getbiomedicalconcept
        method: GET
        description: Get a specific Biomedical Concept
        inputParameters:
        - name: conceptId
          in: path
          type: string
          required: true
          description: Biomedical Concept identifier
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: mdr-ct
      path: /mdr/ct
      operations:
      - name: listterminologypackages
        method: GET
        description: List CDISC controlled terminology packages
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: mdr-ct-packagedate-codelists
      path: /mdr/ct/{packageDate}/codelists
      operations:
      - name: listcodelists
        method: GET
        description: List codelists in a terminology package
        inputParameters:
        - name: packageDate
          in: path
          type: string
          required: true
          description: Terminology package date (e.g., 2023-12-15)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    port: 8080
    namespace: cdisc-rest
    description: REST adapter for CDISC Library API.
    resources:
    - path: /mdr/products
      name: listproducts
      operations:
      - method: GET
        name: listproducts
        description: List all CDISC standards products
        call: cdisc.listproducts
        outputParameters:
        - type: object
          mapping: $.
    - path: /mdr/sdtm
      name: listsdtmversions
      operations:
      - method: GET
        name: listsdtmversions
        description: List all SDTM standard versions
        call: cdisc.listsdtmversions
        outputParameters:
        - type: object
          mapping: $.
    - path: /mdr/sdtm/{version}
      name: getsdtmversion
      operations:
      - method: GET
        name: getsdtmversion
        description: Get SDTM standard by version
        call: cdisc.getsdtmversion
        with:
          version: rest.version
        outputParameters:
        - type: object
          mapping: $.
    - path: /mdr/sdtm/{version}/classes
      name: listsdtmclasses
      operations:
      - method: GET
        name: listsdtmclasses
        description: List SDTM domain classes for a version
        call: cdisc.listsdtmclasses
        with:
          version: rest.version
        outputParameters:
        - type: object
          mapping: $.
    - path: /mdr/sdtm/{version}/datasets
      name: listsdtmdatasets
      operations:
      - method: GET
        name: listsdtmdatasets
        description: List SDTM datasets (domains) for a version
        call: cdisc.listsdtmdatasets
        with:
          version: rest.version
        outputParameters:
        - type: object
          mapping: $.
    - path: /mdr/sdtm/{version}/datasets/{dataset}
      name: getsdtmdataset
      operations:
      - method: GET
        name: getsdtmdataset
        description: Get SDTM dataset (domain) specification
        call: cdisc.getsdtmdataset
        with:
          version: rest.version
          dataset: rest.dataset
        outputParameters:
        - type: object
          mapping: $.
    - path: /mdr/adam
      name: listadamversions
      operations:
      - method: GET
        name: listadamversions
        description: List all ADaM standard versions
        call: cdisc.listadamversions
        outputParameters:
        - type: object
          mapping: $.
    - path: /mdr/adam/{version}
      name: getadamversion
      operations:
      - method: GET
        name: getadamversion
        description: Get ADaM standard by version
        call: cdisc.getadamversion
        with:
          version: rest.version
        outputParameters:
        - type: object
          mapping: $.
    - path: /mdr/cdash
      name: listcdashversions
      operations:
      - method: GET
        name: listcdashversions
        description: List all CDASH standard versions
        call: cdisc.listcdashversions
        outputParameters:
        - type: object
          mapping: $.
    - path: /cosmos/v2/bc
      name: listbiomedicalconcepts
      operations:
      - method: GET
        name: listbiomedicalconcepts
        description: List CDISC Biomedical Concepts
        call: cdisc.listbiomedicalconcepts
        outputParameters:
        - type: object
          mapping: $.
    - path: /cosmos/v2/bc/{conceptId}
      name: getbiomedicalconcept
      operations:
      - method: GET
        name: getbiomedicalconcept
        description: Get a specific Biomedical Concept
        call: cdisc.getbiomedicalconcept
        with:
          conceptId: rest.conceptId
        outputParameters:
        - type: object
          mapping: $.
    - path: /mdr/ct
      name: listterminologypackages
      operations:
      - method: GET
        name: listterminologypackages
        description: List CDISC controlled terminology packages
        call: cdisc.listterminologypackages
        outputParameters:
        - type: object
          mapping: $.
    - path: /mdr/ct/{packageDate}/codelists
      name: listcodelists
      operations:
      - method: GET
        name: listcodelists
        description: List codelists in a terminology package
        call: cdisc.listcodelists
        with:
          packageDate: rest.packageDate
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    port: 9090
    namespace: cdisc-mcp
    transport: http
    description: MCP adapter for CDISC Library API for AI agent use.
    tools:
    - name: listproducts
      description: List all CDISC standards products
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: cdisc.listproducts
      outputParameters:
      - type: object
        mapping: $.
    - name: listsdtmversions
      description: List all SDTM standard versions
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: cdisc.listsdtmversions
      outputParameters:
      - type: object
        mapping: $.
    - name: getsdtmversion
      description: Get SDTM standard by version
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: cdisc.getsdtmversion
      with:
        version: tools.version
      inputParameters:
      - name: version
        type: string
        description: SDTM version string (e.g., 3-3, 3-4, 2-0)
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: listsdtmclasses
      description: List SDTM domain classes for a version
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: cdisc.listsdtmclasses
      with:
        version: tools.version
      inputParameters:
      - name: version
        type: string
        description: version
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: listsdtmdatasets
      description: List SDTM datasets (domains) for a version
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: cdisc.listsdtmdatasets
      with:
        version: tools.version
      inputParameters:
      - name: version
        type: string
        description: version
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: getsdtmdataset
      description: Get SDTM dataset (domain) specification
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: cdisc.getsdtmdataset
      with:
        version: tools.version
        dataset: tools.dataset
      inputParameters:
      - name: version
        type: string
        description: version
        required: true
      - name: dataset
        type: string
        description: SDTM domain abbreviation (e.g., AE, CM, DM)
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: listadamversions
      description: List all ADaM standard versions
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: cdisc.listadamversions
      outputParameters:
      - type: object
        mapping: $.
    - name: getadamversion
      description: Get ADaM standard by version
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: cdisc.getadamversion
      with:
        version: tools.version
      inputParameters:
      - name: version
        type: string
        description: version
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: listcdashversions
      description: List all CDASH standard versions
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: cdisc.listcdashversions
      outputParameters:
      - type: object
        mapping: $.
    - name: listbiomedicalconcepts
      description: List CDISC Biomedical Concepts
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: cdisc.listbiomedicalconcepts
      with:
        packageDate: tools.packageDate
        page: tools.page
        pageSize: tools.pageSize
      inputParameters:
      - name: packageDate
        type: string
        description: Filter BCs by package release date (YYYY-MM-DD)
      - name: page
        type: integer
        description: page
      - name: pageSize
        type: integer
        description: pageSize
      outputParameters:
      - type: object
        mapping: $.
    - name: getbiomedicalconcept
      description: Get a specific Biomedical Concept
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: cdisc.getbiomedicalconcept
      with:
        conceptId: tools.conceptId
      inputParameters:
      - name: conceptId
        type: string
        description: Biomedical Concept identifier
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: listterminologypackages
      description: List CDISC controlled terminology packages
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: cdisc.listterminologypackages
      outputParameters:
      - type: object
        mapping: $.
    - name: listcodelists
      description: List codelists in a terminology package
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: cdisc.listcodelists
      with:
        packageDate: tools.packageDate
      inputParameters:
      - name: packageDate
        type: string
        description: Terminology package date (e.g., 2023-12-15)
        required: true
      outputParameters:
      - type: object
        mapping: $.
binds:
- namespace: env
  keys:
    CDISC_TOKEN: CDISC_TOKEN