get_stack
Builds a compatible tool stack for a given use case. Selects tools from the graph based on relationship strength and compatibility scores, ensuring every tool in the stack works well together.
When to use
Call get_stack when you need a complete set of tools for a project rather than a single recommendation. Unlike search_tools, this tool focuses on inter-tool compatibility and returns multiple tools that are known to work well together.
Input schema
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
use_case | string | Required | — | Description of the tech stack need (e.g. "full-stack web app with auth and payments"). |
constraints | object | Optional | — | Optional constraints to narrow the stack selection. |
constraints.language | string | Optional | — | Primary programming language (e.g. "TypeScript", "Python"). |
constraints.deployment | string | Optional | — | Deployment model (e.g. "serverless", "self-hosted", "cloud"). |
constraints.max_tools | number | Optional | 10 | Maximum number of tools to include in the stack. |
use_caseRequiredstringDescription of the tech stack need (e.g. "full-stack web app with auth and payments").
constraintsOptionalobjectOptional constraints to narrow the stack selection.
constraints.languageOptionalstringPrimary programming language (e.g. "TypeScript", "Python").
constraints.deploymentOptionalstringDeployment model (e.g. "serverless", "self-hosted", "cloud").
constraints.max_toolsOptionalnumber10Maximum number of tools to include in the stack.
Examples
Basic stack request
Stack with constraints
{
"use_case": "full-stack web app with auth and payments",
"constraints": {
"language": "TypeScript",
"deployment": "serverless",
"max_tools": 6
}
}Language-only constraint
{
"use_case": "data pipeline for ETL workflows",
"constraints": {
"language": "Python"
}
}Compatibility scores
compatibility_scores showing how well it pairs with other tools in the stack. These scores are derived from graph edge weights and community usage patterns.Response format
Returns an array of compatible tools with their roles, confidence scores, and pairwise compatibility scores. An overall_compatibility score indicates how well the entire stack works together.
{
"use_case": "full-stack web app with auth and payments",
"stack": [
{
"name": "Next.js",
"role": "framework",
"description": "Full-stack React framework with API routes",
"confidence": 0.96,
"compatibility_scores": {
"Prisma": 0.94,
"Stripe": 0.91,
"NextAuth.js": 0.97
}
},
{
"name": "Prisma",
"role": "database",
"description": "Type-safe ORM for TypeScript",
"confidence": 0.93,
"compatibility_scores": {
"Next.js": 0.94,
"NextAuth.js": 0.92
}
},
{
"name": "NextAuth.js",
"role": "authentication",
"description": "Authentication library for Next.js",
"confidence": 0.95,
"compatibility_scores": {
"Next.js": 0.97,
"Prisma": 0.92
}
},
{
"name": "Stripe",
"role": "payments",
"description": "Payment processing platform with TypeScript SDK",
"confidence": 0.90,
"compatibility_scores": {
"Next.js": 0.91
}
}
],
"overall_compatibility": 0.93,
"notes": [
"All tools have strong TypeScript support",
"Next.js + Prisma + NextAuth.js is a proven stack combination",
"Stripe integrates well with Next.js API routes"
]
}Error codes
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
400 | Bad Request | Optional | — | Invalid or empty use_case string. Ensure the use_case parameter is a non-empty string. |
500 | Internal Error | Optional | — | Graph query error. An unexpected failure occurred while building the stack from graph relationships. |
400OptionalBad RequestInvalid or empty use_case string. Ensure the use_case parameter is a non-empty string.
500OptionalInternal ErrorGraph query error. An unexpected failure occurred while building the stack from graph relationships.
Related tools
search_tools— Find a single tool for a specific needcheck_issue— Diagnose issues with any tool in your stackreport_outcome— Report usage feedback for stack tools