smithery.yaml•2.88 kB
# Smithery configuration for a custom Docker container deployment.
# Defines how to start the server once the container is built.
startCommand:
# Specifies that the server communicates over HTTP.
type: "http"
# Defines the configuration variables the server expects.
# These are passed as environment variables or query parameters.
configSchema:
type: "object"
properties:
NCBI_API_KEY:
type: "string"
description: "API key for the NCBI service."
NCBI_TOOL_IDENTIFIER:
type: "string"
description: "Tool identifier for the NCBI service."
NCBI_ADMIN_EMAIL:
type: "string"
description: "Admin email for the NCBI service."
MCP_LOG_LEVEL:
type: "string"
default: "info"
description: "Minimum logging level."
MCP_TRANSPORT_TYPE:
type: "string"
enum: ["stdio", "http"]
default: "http"
description: "MCP communication transport ('stdio' or 'http')."
MCP_HTTP_PORT:
type: "integer"
default: 3017
description: "HTTP server port (if MCP_TRANSPORT_TYPE is 'http')."
MCP_HTTP_HOST:
type: "string"
default: "0.0.0.0"
description: "HTTP server host to bind to."
MCP_SESSION_MODE:
type: "string"
enum: ["stateless", "stateful", "auto"]
default: "stateless"
description: "Server session management mode."
MCP_AUTH_MODE:
type: "string"
enum: ["none", "jwt", "oauth"]
default: "none"
description: "Server authentication mode."
MCP_FORCE_CONSOLE_LOGGING:
type: "boolean"
default: false
description: "Force console logging, even in non-TTY environments like Docker."
# Specifies the build configuration for the Smithery Docker container.
commandFunction: |-
(config) => ({
command: 'node',
args: ['build/index.js'],
env: {
NCBI_API_KEY: config.NCBI_API_KEY,
NCBI_TOOL_IDENTIFIER: config.NCBI_TOOL_IDENTIFIER,
NCBI_ADMIN_EMAIL: config.NCBI_ADMIN_EMAIL,
MCP_LOG_LEVEL: config.MCP_LOG_LEVEL,
MCP_TRANSPORT_TYPE: config.MCP_TRANSPORT_TYPE,
MCP_HTTP_PORT: config.MCP_HTTP_PORT,
MCP_HTTP_HOST: config.MCP_HTTP_HOST,
MCP_SESSION_MODE: config.MCP_SESSION_MODE,
MCP_AUTH_MODE: config.MCP_AUTH_MODE,
MCP_FORCE_CONSOLE_LOGGING: config.MCP_FORCE_CONSOLE_LOGGING
}
})
# Provides an example configuration for users.
exampleConfig:
NCBI_API_KEY: "your_ncbi_api_key"
NCBI_TOOL_IDENTIFIER: "@cyanheads/pubmed-mcp-server"
NCBI_ADMIN_EMAIL: "your_email@example.com"
MCP_LOG_LEVEL: "debug"
MCP_TRANSPORT_TYPE: "http"
MCP_HTTP_PORT: 3017
MCP_HTTP_HOST: "0.0.0.0"
MCP_SESSION_MODE: "stateless"
MCP_AUTH_MODE: "none"
MCP_FORCE_CONSOLE_LOGGING: true