---
updatedAt: 2026-04-24T19:32:33.000Z
agentTools:
  siteIndex: https://developer.ebsco.com/llms.txt
  projectIndex: https://developer.ebsco.com/dynamic-health/llms.txt
---

# Dyna MCP Request endpoint

Handles initialization and requests for a Dyna MCP session. Requires JSON-RPC body and may require 'mcp-session-id' header.

# OpenAPI definition

```json
{
  "openapi": "3.0.0",
  "info": {
    "title": "Dynamic Health",
    "version": "1.0",
    "contact": {
      "name": "EBSCO Information Services",
      "url": "https://connect.ebsco.com/"
    },
    "description": "MedsAPI Dynamic Health Endpoints.  The documentation on this site covers all supported functionality of the MedsAPI suite of APIs. Any fields or parameters not represented by the documentation are unsupported and subject to change. Additional optional query parameters and fields in the response could be added in the future as a non breaking change. Any other change that could break the contract would be considered in a future version."
  },
  "tags": [
    {
      "name": "MCP",
      "description": "DynaMed/DynaMedex Model Context Protocol API"
    }
  ],
  "servers": [
    {
      "url": "https://apis.ebsco.com/medsapi-dynamic-health"
    },
    {
      "url": "https://apis.ebsco.com/medsapi-auth/v1",
      "description": "MedsAPI token endpoint"
    }
  ],
  "paths": {
    "/v1/content/search/mcp": {
      "post": {
        "tags": [
          "MCP"
        ],
        "summary": "Dyna MCP Request endpoint",
        "description": "Handles initialization and requests for a Dyna MCP session. Requires JSON-RPC body and may require 'mcp-session-id' header.",
        "operationId": "post-mcp-v1",
        "parameters": [
          {
            "schema": {
              "type": "string",
              "default": "keep-alive",
              "example": "application/json"
            },
            "in": "header",
            "name": "Content-Type",
            "required": true,
            "description": "Body contains JSON"
          },
          {
            "schema": {
              "type": "string",
              "default": "no",
              "example": "application/json, text/event-stream"
            },
            "in": "header",
            "name": "Accept",
            "required": true,
            "description": "Accept type"
          },
          {
            "schema": {
              "type": "string",
              "default": "no-cache",
              "example": "42324"
            },
            "in": "header",
            "name": "mcp-session-id",
            "description": "Session ID",
            "required": true
          }
        ],
        "requestBody": {
          "description": "The query to ask Dyna AI",
          "content": {
            "application/json": {
              "schema": {
                "description": "",
                "type": "object",
                "x-examples": {
                  "example-1": {
                    "jsonrpc": "2.0",
                    "id": "iou42",
                    "method": "tools/call",
                    "params": {
                      "name": "dyna_question_answer",
                      "arguments": {
                        "workflowId": "DMX",
                        "query": "covid adults"
                      }
                    }
                  }
                },
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "minLength": 1,
                    "example": "2.0"
                  },
                  "id": {
                    "type": "string",
                    "minLength": 1,
                    "example": "ou812"
                  },
                  "method": {
                    "type": "string",
                    "minLength": 1,
                    "example": "tools/call"
                  },
                  "params": {
                    "type": "object",
                    "description": "Parameters for a Dyna AI query",
                    "properties": {
                      "name": {
                        "type": "string",
                        "minLength": 1,
                        "example": "dyna_question_answer"
                      },
                      "arguments": {
                        "type": "object",
                        "properties": {
                          "workflowId": {
                            "type": "string",
                            "minLength": 1,
                            "example": "DMX",
                            "description": "The product you are querying"
                          },
                          "query": {
                            "type": "string",
                            "minLength": 1,
                            "example": "covid adults",
                            "description": "The actual Dyna question"
                          }
                        }
                      }
                    }
                  }
                },
                "required": [
                  "jsonrpc",
                  "id",
                  "method"
                ]
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedError"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenError"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundError"
          },
          "405": {
            "$ref": "#/components/responses/MethodNotAllowedError"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptableError"
          },
          "415": {
            "$ref": "#/components/responses/UnsupportedMediaTypeError"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequestsError"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "security": [
          {
            "BearerToken": []
          }
        ],
        "x-internal": false,
        "x-codegen-request-body-name": "body"
      }
    }
  },
  "components": {
    "schemas": {
      "Error-Response": {
        "title": "Error-Response",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Standardized reason phrase for this status code",
            "example": "Error Name"
          },
          "message": {
            "type": "string",
            "description": "Details about the error",
            "example": "Error Description"
          }
        }
      }
    },
    "responses": {
      "UnauthorizedError": {
        "description": "Unauthorized - This request requires authentication and none was provided."
      },
      "ForbiddenError": {
        "description": "Forbidden - The authentication credentials do not have access to this resource."
      },
      "NotFoundError": {
        "description": "Not Found - The server was unable to find a resource matching this request."
      },
      "MethodNotAllowedError": {
        "description": "Method Not Allowed - The server has not implemented the requested HTTP method."
      },
      "NotAcceptableError": {
        "description": "Not Acceptable - The server cannot return the requested media type."
      },
      "UnsupportedMediaTypeError": {
        "description": "Unsupported Media Type - The server cannot understand the media type in this request."
      },
      "TooManyRequestsError": {
        "description": "Too Many Requests - The client has sent too many requests within the given time."
      },
      "InternalServerError": {
        "description": "Internal Server Error - There was an unexpected error with the server",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error-Response"
            }
          }
        }
      }
    },
    "securitySchemes": {
      "BearerToken": {
        "type": "http",
        "scheme": "bearer"
      }
    }
  }
}
```