cdisc-library-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CDISC_API_KEY | Yes | Your CDISC Library API subscription key | |
| CDISC_AUTH_QUERY | No | Query parameter name when using query auth | api-key |
| CDISC_AUTH_HEADER | No | Header name when using header auth | api-key |
| CDISC_CACHE_DEBUG | No | Set to '1' to log cache/retry activity | 0 |
| CDISC_OPENAPI_DIR | No | Directory for OpenAPI YAML files | server/openapi |
| CDISC_RETRY_COUNT | No | Number of retries for transient errors | 2 |
| CDISC_API_BASE_URL | No | Override server base URL | https://api.library.cdisc.org |
| CDISC_CACHE_TTL_MS | No | Cache TTL for GET responses in milliseconds | 60000 |
| CDISC_AUTH_LOCATION | No | Where to pass the API key: 'header' or 'query' | header |
| CDISC_CACHE_ENABLED | No | Set to '0' to disable caching | 1 |
| CDISC_RETRY_BACKOFF_MS | No | Base backoff per attempt in milliseconds | 300 |
| CDISC_CACHE_MAX_ENTRIES | No | Maximum cache entries (LRU) | 500 |
| CDISC_CACHE_PERSIST_PATH | No | File path to persist cache to disk (JSON) | |
| CDISC_CACHE_EXCLUDE_REGEX | No | Regex to exclude cache matches | |
| CDISC_CACHE_INCLUDE_REGEX | No | Regex to force-include cache matches |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_operationsB | List available OpenAPI operations across loaded specs. |
| cache.clearA | Clear all in-memory cache entries. |
| cache.invalidateA | Invalidate cache entries whose URL matches a substring or regex. |
| call_operationB | Invoke an OpenAPI operation by operationId. Supports path, query, and body inputs. Handles API key via env CDISC_API_KEY. |
| search.suggestC | Suggest search terms across CDISC Library. |
| search.queryC | Search across CDISC Library with paging, facets, and filters. |
| bc.listC | List latest Biomedical Concepts (optional category). |
| bc.getB | Get latest Biomedical Concept by conceptId. |
| bc.categoriesA | List Biomedical Concept categories. |
| bc.packages.listC | List BC packages. |
| bc.packages.listConceptsC | List BCs within a package. |
| bc.packages.getConceptC | Get BC within a package. |
| sdtm.listC | List latest SDTM dataset specializations (optional domain). |
| sdtm.getC | Get latest SDTM specialization by datasetSpecializationId. |
| sdtm.domainsA | List SDTM specialization domains. |
| sdtm.byBiomedicalConceptC | List dataset specializations specializing a given Biomedical Concept (latest). |
| sdtm.packages.listB | List SDTM packages. |
| sdtm.packages.listSpecializationsB | List SDTM specializations within a package. |
| sdtm.packages.getSpecializationC | Get SDTM specialization within a package. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 19 tools
Each tool has a clear and distinct purpose. The bc.* and sdtm.* tools are name-spaced to avoid confusion, and other tools like cache.*, call_operation, and search.* are well-separated. No overlapping functionality.
Most tools follow a domain.action or domain.entity pattern with dots (e.g., bc.categories, sdtm.list). However, call_operation and list_operations use underscores instead of dots, introducing a minor inconsistency in separator style.
With 19 tools, the set is well-scoped for a CDISC library API. It covers browsing concepts, SDTM specializations, search, cache management, and generic API operations without being bloated or too sparse.
The toolset covers the main use cases of a library API: browsing (list, get), searching (query, suggest), and managing cache. For a read-only metadata service, missing create/update/delete operations are not gaps. The generic call_operation adds flexibility.