Design Pattern MCP
An MCP server that analyzes system descriptions to retrieve matching design patterns from a built-in catalog, generates concrete designs with participants and interactions, and evaluates them against quality axes like testability and security.
Package and access
Local package with source-attributed installation metadata. Koskamo does not execute packages during review.
What you can do with it
- Analyze free-text system descriptions to identify suitable design patterns
- Generate concrete designs with primary and supporting patterns
- Evaluate designs against quality axes such as security and scalability
Source and maintenance
- Last repository push
- Latest release
- v1.0.1
- Maintenance checked
Packages and installation
Source-provided package data. Koskamo has not executed or live-probed this package.
docker.io/olkowa/design-pattern-mcp:1.0.1
{
"transport": "stdio",
"identifier": "docker.io/olkowa/design-pattern-mcp:1.0.1",
"runtimeHint": "docker",
"registryType": "oci",
"packageArguments": [
{
"type": "positional",
"value": "--transport"
},
{
"type": "positional",
"value": "stdio"
}
],
"runtimeArguments": [
{
"name": "--add-host",
"type": "named",
"value": "host.docker.internal:host-gateway",
"description": "Makes a TEI embedder/reranker running on the Docker host reachable from the container (needed on Linux; already provided by Docker Desktop)."
}
],
"environmentVariables": [
{
"name": "DESIGN_PATTERN_GENERATOR_API_KEY",
"format": "string",
"isRequired": true,
"description": "API key for the generator LLM (LiteLLM provider)."
},
{
"name": "DESIGN_PATTERN_GENERATOR_PROVIDER",
"format": "string",
"default": "openai",
"description": "LiteLLM provider prefix, e.g. openai, anthropic, openrouter."
},
{
"name": "DESIGN_PATTERN_GENERATOR_MODEL",
"format": "string",
"default": "gpt-4o-mini",
"description": "Model name, combined as <provider>/<model> via LiteLLM."
},
{
"name": "DESIGN_PATTERN_GENERATOR_BASE_URL",
"format": "string",
"default": "https://api.openai.com/v1",
"description": "OpenAI-compatible base URL (LiteLLM api_base)."
},
{
"name": "DESIGN_PATTERN_PATTERN_DIRECTORY",
"format": "string",
"default": "/app/pattern",
"description": "Directory with the catalog records (*.json main records plus per-language files). The image bakes the 438-record catalogue at /app/pattern."
},
{
"name": "DESIGN_PATTERN_EMBEDDER_BASE_URL",
"format": "string",
"isRequired": true,
"description": "Required: the dense retrieval leg embeds the 438-record catalogue during startup warmup and the server refuses to start when the endpoint is unreachable. TEI embeddings endpoint: on the Docker host use http://host.docker.internal:8080 (add --add-host=host.docker.internal:host-gateway on Linux); on a shared Docker network use http://design-pattern-tei-embed:8080."
},
{
"name": "DESIGN_PATTERN_EMBEDDER_API_KEY",
"format": "string",
"description": "API key for the embedder. Keyless TEI accepts any non-empty value; use 'not-needed' there."
},
{
"name": "DESIGN_PATTERN_RERANKER_BASE_URL",
"format": "string",
"isRequired": true,
"description": "Required: retrieval runs a mandatory TEI cross-encoder rerank whenever the fused pool has more than one candidate. On the Docker host use http://host.docker.internal:8080; on a shared Docker network use http://design-pattern-tei-rerank:8080."
}
]
}Tools
Reported by the attributed source; not independently observed by Koskamo.
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · repository · passed · metadata changed · updated
- · backfill · recorded · Pre-expansion baseline; unobserved rich metadata remains unknown
Connect from your client
Each snippet configures the same source-provided package; replace placeholders before use.
Cursor
{
"mcpServers": {
"design-pattern-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"DESIGN_PATTERN_GENERATOR_API_KEY=<YOUR_DESIGN_PATTERN_GENERATOR_API_KEY>",
"-e",
"DESIGN_PATTERN_GENERATOR_PROVIDER=<YOUR_DESIGN_PATTERN_GENERATOR_PROVIDER>",
"-e",
"DESIGN_PATTERN_GENERATOR_MODEL=<YOUR_DESIGN_PATTERN_GENERATOR_MODEL>",
"-e",
"DESIGN_PATTERN_GENERATOR_BASE_URL=<YOUR_DESIGN_PATTERN_GENERATOR_BASE_URL>",
"-e",
"DESIGN_PATTERN_PATTERN_DIRECTORY=<YOUR_DESIGN_PATTERN_PATTERN_DIRECTORY>",
"-e",
"DESIGN_PATTERN_EMBEDDER_BASE_URL=<YOUR_DESIGN_PATTERN_EMBEDDER_BASE_URL>",
"-e",
"DESIGN_PATTERN_EMBEDDER_API_KEY=<YOUR_DESIGN_PATTERN_EMBEDDER_API_KEY>",
"-e",
"DESIGN_PATTERN_RERANKER_BASE_URL=<YOUR_DESIGN_PATTERN_RERANKER_BASE_URL>",
"docker.io/olkowa/design-pattern-mcp:1.0.1",
"--transport",
"stdio"
],
"env": {
"DESIGN_PATTERN_GENERATOR_API_KEY": "<YOUR_DESIGN_PATTERN_GENERATOR_API_KEY>",
"DESIGN_PATTERN_GENERATOR_PROVIDER": "<YOUR_DESIGN_PATTERN_GENERATOR_PROVIDER>",
"DESIGN_PATTERN_GENERATOR_MODEL": "<YOUR_DESIGN_PATTERN_GENERATOR_MODEL>",
"DESIGN_PATTERN_GENERATOR_BASE_URL": "<YOUR_DESIGN_PATTERN_GENERATOR_BASE_URL>",
"DESIGN_PATTERN_PATTERN_DIRECTORY": "<YOUR_DESIGN_PATTERN_PATTERN_DIRECTORY>",
"DESIGN_PATTERN_EMBEDDER_BASE_URL": "<YOUR_DESIGN_PATTERN_EMBEDDER_BASE_URL>",
"DESIGN_PATTERN_EMBEDDER_API_KEY": "<YOUR_DESIGN_PATTERN_EMBEDDER_API_KEY>",
"DESIGN_PATTERN_RERANKER_BASE_URL": "<YOUR_DESIGN_PATTERN_RERANKER_BASE_URL>"
}
}
}
}Cline
{
"mcpServers": {
"design-pattern-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"DESIGN_PATTERN_GENERATOR_API_KEY=<YOUR_DESIGN_PATTERN_GENERATOR_API_KEY>",
"-e",
"DESIGN_PATTERN_GENERATOR_PROVIDER=<YOUR_DESIGN_PATTERN_GENERATOR_PROVIDER>",
"-e",
"DESIGN_PATTERN_GENERATOR_MODEL=<YOUR_DESIGN_PATTERN_GENERATOR_MODEL>",
"-e",
"DESIGN_PATTERN_GENERATOR_BASE_URL=<YOUR_DESIGN_PATTERN_GENERATOR_BASE_URL>",
"-e",
"DESIGN_PATTERN_PATTERN_DIRECTORY=<YOUR_DESIGN_PATTERN_PATTERN_DIRECTORY>",
"-e",
"DESIGN_PATTERN_EMBEDDER_BASE_URL=<YOUR_DESIGN_PATTERN_EMBEDDER_BASE_URL>",
"-e",
"DESIGN_PATTERN_EMBEDDER_API_KEY=<YOUR_DESIGN_PATTERN_EMBEDDER_API_KEY>",
"-e",
"DESIGN_PATTERN_RERANKER_BASE_URL=<YOUR_DESIGN_PATTERN_RERANKER_BASE_URL>",
"docker.io/olkowa/design-pattern-mcp:1.0.1",
"--transport",
"stdio"
],
"env": {
"DESIGN_PATTERN_GENERATOR_API_KEY": "<YOUR_DESIGN_PATTERN_GENERATOR_API_KEY>",
"DESIGN_PATTERN_GENERATOR_PROVIDER": "<YOUR_DESIGN_PATTERN_GENERATOR_PROVIDER>",
"DESIGN_PATTERN_GENERATOR_MODEL": "<YOUR_DESIGN_PATTERN_GENERATOR_MODEL>",
"DESIGN_PATTERN_GENERATOR_BASE_URL": "<YOUR_DESIGN_PATTERN_GENERATOR_BASE_URL>",
"DESIGN_PATTERN_PATTERN_DIRECTORY": "<YOUR_DESIGN_PATTERN_PATTERN_DIRECTORY>",
"DESIGN_PATTERN_EMBEDDER_BASE_URL": "<YOUR_DESIGN_PATTERN_EMBEDDER_BASE_URL>",
"DESIGN_PATTERN_EMBEDDER_API_KEY": "<YOUR_DESIGN_PATTERN_EMBEDDER_API_KEY>",
"DESIGN_PATTERN_RERANKER_BASE_URL": "<YOUR_DESIGN_PATTERN_RERANKER_BASE_URL>"
}
}
}
}VS Code
{
"servers": {
"design-pattern-mcp": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"DESIGN_PATTERN_GENERATOR_API_KEY=<YOUR_DESIGN_PATTERN_GENERATOR_API_KEY>",
"-e",
"DESIGN_PATTERN_GENERATOR_PROVIDER=<YOUR_DESIGN_PATTERN_GENERATOR_PROVIDER>",
"-e",
"DESIGN_PATTERN_GENERATOR_MODEL=<YOUR_DESIGN_PATTERN_GENERATOR_MODEL>",
"-e",
"DESIGN_PATTERN_GENERATOR_BASE_URL=<YOUR_DESIGN_PATTERN_GENERATOR_BASE_URL>",
"-e",
"DESIGN_PATTERN_PATTERN_DIRECTORY=<YOUR_DESIGN_PATTERN_PATTERN_DIRECTORY>",
"-e",
"DESIGN_PATTERN_EMBEDDER_BASE_URL=<YOUR_DESIGN_PATTERN_EMBEDDER_BASE_URL>",
"-e",
"DESIGN_PATTERN_EMBEDDER_API_KEY=<YOUR_DESIGN_PATTERN_EMBEDDER_API_KEY>",
"-e",
"DESIGN_PATTERN_RERANKER_BASE_URL=<YOUR_DESIGN_PATTERN_RERANKER_BASE_URL>",
"docker.io/olkowa/design-pattern-mcp:1.0.1",
"--transport",
"stdio"
],
"env": {
"DESIGN_PATTERN_GENERATOR_API_KEY": "<YOUR_DESIGN_PATTERN_GENERATOR_API_KEY>",
"DESIGN_PATTERN_GENERATOR_PROVIDER": "<YOUR_DESIGN_PATTERN_GENERATOR_PROVIDER>",
"DESIGN_PATTERN_GENERATOR_MODEL": "<YOUR_DESIGN_PATTERN_GENERATOR_MODEL>",
"DESIGN_PATTERN_GENERATOR_BASE_URL": "<YOUR_DESIGN_PATTERN_GENERATOR_BASE_URL>",
"DESIGN_PATTERN_PATTERN_DIRECTORY": "<YOUR_DESIGN_PATTERN_PATTERN_DIRECTORY>",
"DESIGN_PATTERN_EMBEDDER_BASE_URL": "<YOUR_DESIGN_PATTERN_EMBEDDER_BASE_URL>",
"DESIGN_PATTERN_EMBEDDER_API_KEY": "<YOUR_DESIGN_PATTERN_EMBEDDER_API_KEY>",
"DESIGN_PATTERN_RERANKER_BASE_URL": "<YOUR_DESIGN_PATTERN_RERANKER_BASE_URL>"
}
}
}
}Claude Desktop
{
"mcpServers": {
"design-pattern-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"DESIGN_PATTERN_GENERATOR_API_KEY=<YOUR_DESIGN_PATTERN_GENERATOR_API_KEY>",
"-e",
"DESIGN_PATTERN_GENERATOR_PROVIDER=<YOUR_DESIGN_PATTERN_GENERATOR_PROVIDER>",
"-e",
"DESIGN_PATTERN_GENERATOR_MODEL=<YOUR_DESIGN_PATTERN_GENERATOR_MODEL>",
"-e",
"DESIGN_PATTERN_GENERATOR_BASE_URL=<YOUR_DESIGN_PATTERN_GENERATOR_BASE_URL>",
"-e",
"DESIGN_PATTERN_PATTERN_DIRECTORY=<YOUR_DESIGN_PATTERN_PATTERN_DIRECTORY>",
"-e",
"DESIGN_PATTERN_EMBEDDER_BASE_URL=<YOUR_DESIGN_PATTERN_EMBEDDER_BASE_URL>",
"-e",
"DESIGN_PATTERN_EMBEDDER_API_KEY=<YOUR_DESIGN_PATTERN_EMBEDDER_API_KEY>",
"-e",
"DESIGN_PATTERN_RERANKER_BASE_URL=<YOUR_DESIGN_PATTERN_RERANKER_BASE_URL>",
"docker.io/olkowa/design-pattern-mcp:1.0.1",
"--transport",
"stdio"
],
"env": {
"DESIGN_PATTERN_GENERATOR_API_KEY": "<YOUR_DESIGN_PATTERN_GENERATOR_API_KEY>",
"DESIGN_PATTERN_GENERATOR_PROVIDER": "<YOUR_DESIGN_PATTERN_GENERATOR_PROVIDER>",
"DESIGN_PATTERN_GENERATOR_MODEL": "<YOUR_DESIGN_PATTERN_GENERATOR_MODEL>",
"DESIGN_PATTERN_GENERATOR_BASE_URL": "<YOUR_DESIGN_PATTERN_GENERATOR_BASE_URL>",
"DESIGN_PATTERN_PATTERN_DIRECTORY": "<YOUR_DESIGN_PATTERN_PATTERN_DIRECTORY>",
"DESIGN_PATTERN_EMBEDDER_BASE_URL": "<YOUR_DESIGN_PATTERN_EMBEDDER_BASE_URL>",
"DESIGN_PATTERN_EMBEDDER_API_KEY": "<YOUR_DESIGN_PATTERN_EMBEDDER_API_KEY>",
"DESIGN_PATTERN_RERANKER_BASE_URL": "<YOUR_DESIGN_PATTERN_RERANKER_BASE_URL>"
}
}
}
}Let your agent find its tools
Find servers like Design Pattern MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.