Public leaderboard

Public assessment

hoklims/stacksfinder-mcp (@stacksfinder/mcp-server)

stacksfinder-mcp-server · v1.0.0 · scanned

What changed in the harness

Selection accuracy 100→100, token cost down 9%, unconfirmed writes 0%→0%.

Category breakdown

Where the score comes from.

Earned points across the four signals Gradable measures. Safety and Legibility are scored out of 30; Economics and Discoverability are scored out of 20.

01Safety

0.0 / 30

0.0 out of 30
02Legibility

21.4 / 30

21.4 out of 30
03Economics

15.9 / 20

15.9 out of 20
04Discoverability

12.4 / 20

12.4 out of 20

Highest-impact fix

Estimated gain +30 points

Add explicit identity and permission preflight tools

Expose machine-readable principal/tenant confirmation and a non-mutating permission check so agents can verify both before destructive actions.

Description evidence

Defects and rewrites.

18 defects found across the exposed tool descriptions. Suggested rewrites make purpose, inputs, boundaries, and returns easier for an agent to understand.

Tool Defect types Suggested rewrite
list_technologies
no_return_description
Returns all available technology IDs grouped by category, optionally filtered by a category (frontend, backend, meta-framework, database, orm, auth, hosting, payments, cms). Use this first to discover valid technology IDs before calling analyze_tech or compare_techs.
analyze_tech
no_return_description
Returns a detailed analysis of a technology, including 6-dimension scores (Developer Experience, Performance, Scalability, Security, Ecosystem, Cost), strengths, weaknesses, and compatible technologies. Use a technology ID from list_technologies (e.g., nextjs not Next.js); context selects the scoring basis (default, mvp, enterprise).
recommend_stack_demo
params_unexplained
Returns a recommended tech stack for a project: the optimal technology for each category (frontend, backend, database, etc.) with a score and grade, based on 100% deterministic scoring (no AI hallucinations). projectType is the type of project being built (web-app, mobile-app, api, desktop, cli, library, e-commerce, saas, marketplace) and scale is the project size (mvp, startup, growth, enterprise).
recommend_stack
name_restates_behavior params_unexplained no_return_description
Returns a recommended tech stack for a project using real-time scoring with context adjustments, giving the optimal technology per category with scores and rationale. Use projectType to select the type of project (web-app, mobile-app, api, desktop, cli, library, e-commerce, saas, marketplace), scale for project size, priorities to rank the top 3 factors to optimize (max 3), and constraints for any project constraints. Prefer this over recommend_stack_demo when you need priority-based scoring.
get_blueprint
no_return_description
Fetches an existing blueprint by ID and returns the saved blueprint data (the technology stack configuration created via create_blueprint or the StacksFinder web UI). Provide the blueprintId as the blueprint UUID.
create_blueprint
params_unexplained
Creates a new tech stack blueprint for a project. projectName is an optional label for the blueprint and projectType is the type of project to generate a stack for (web-app, mobile-app, api, desktop, cli, library, e-commerce, saas, marketplace). Blueprint generation is asynchronous: by default the tool waits for completion and returns the full blueprint, or set waitForCompletion=false to get the job ID immediately for manual polling. Optional inputs include scale, projectDescription, priorities (top 3), and constraints (max 20 technology constraint IDs).
setup_api_key
no_return_description
Authenticates with your StacksFinder account using email/password and returns a newly created API key. Provide your StacksFinder account email, password, and an optional keyName label. Verify the key with list_api_keys; for ChatGPT OAuth users, prefer create_api_key instead.
list_api_keys
name_restates_behavior no_return_description
Returns all of your StacksFinder API keys so you can verify which keys exist. Requires a configured API key.
revoke_api_key
name_restates_behavior no_return_description
Permanently invalidates the API key with the given keyId UUID so it can no longer be used for authentication, and returns the revocation result. This action cannot be undone, so only revoke keys you no longer need.
create_api_key
no_return_description
Creates a new API key using OAuth authentication (preferred for ChatGPT users; ChatGPT Actions handles authentication automatically) and returns the generated key. Requires a Pro or Team subscription. The key is shown only once, so save it securely; verify it with list_api_keys. keyName is an optional label for the key.
list_audits
name_restates_behavior no_return_description
Returns your audit reports with pagination, showing each report's name, status, health score, and creation date. Use limit (max results) and offset (pagination offset) to page through the list.
compare_audits
no_return_description
Returns a comparison of two audit reports to track technical debt trends over time, including new issues introduced, issues resolved, and health score change. Provide the older audit as baseAuditId and the newer audit as compareAuditId; useful for measuring progress on debt reduction.
get_audit_quota
no_return_description
Returns your remaining audit quota for this month so you can determine how many more audits you can run.
generate_mcp_kit
no_return_description
Returns a complete project kit based on your project description, including an optimal tech stack for each category (frontend, backend, database, auth, hosting, payments), AI-assistant MCP recommendations tailored to those technologies, and ready-to-use install configurations for Claude Desktop, Cursor, and Windsurf. Provide a projectDescription (50-5000 chars); priorities, constraints, projectType, and scale are optional to shape the result.
analyze_repo_mcps
no_return_description
Returns an analysis of your repository: it detects the tech stack (frontend, backend, database, auth, hosting, payments), finds already installed MCP servers, recommends new MCPs that would enhance your workflow, and generates ready-to-use install configurations for Cursor, Claude Desktop, and Windsurf. includeInstalled controls whether already installed MCPs are included; workspaceRoot and mcpConfigPath override the repo/config paths.
prepare_mcp_installation
no_return_description
Returns a generated .env-mcp configuration file for MCP server installation after analyzing your repository's tech stack. The file contains INSTALL_xxx flags to control which MCPs to install, required and optional environment variables for each MCP, and documentation links/examples. After filling in the credentials and adjusting flags, run execute_mcp_installation to complete setup. workspaceRoot, mcpConfigPath, and envMcpPath (default .env-mcp in workspaceRoot) control paths; includeInstalled includes already installed MCPs.
get_workflow_guide
no_return_description
Returns a workflow guide recommending the next StacksFinder tool to use based on your goal and context, with adapted snippets for your client. current_goal selects the goal (discover, setup_api_key, get_recommendation, audit_project, migrate_stack, install_mcp, compare_techs, create_blueprint); completed_tools, user_tier, known_constraints, and context refine the recommendation.
get_estimate_quota
no_return_description
Returns your remaining estimate quota for the current week and month, reporting the amount of quota still available in each period.

Selection evidence

Confusable tool pairs.

11 pairs where similar names or overlapping descriptions may send an agent toward the wrong tool.

Tool A Tool B Confidence Why they collide
recommend_stack_demo recommend_stack high A generic request like 'recommend a tech stack for my SaaS' maps to both tools; one is the quick demo and the other the full real-time version, and nothing in the user's wording forces either, so an agent may return only the demo.
setup_api_key create_api_key high Both tools exist to create/get an API key and both open with 'creates a new API key', differing only by auth method (email/password vs OAuth). A task like 'create an API key for me' gives no basis to pick one.
get_audit get_audit_quota medium 'Get my audit' is ambiguous between fetching the audit report (get_audit) and checking how many audits remain (get_audit_quota); a request like 'check my audits/how many audits do I have left' closely matches both.
get_audit_quota get_estimate_quota medium Both are empty-input quota checkers with nearly identical descriptions ('check your remaining quota'), so a natural request like 'check my remaining quota' genuinely doesn't reveal whether audit or estimate quota is meant.
prepare_mcp_installation execute_mcp_installation medium 'Set up/install MCPs for my project' maps both to the prep step (generate .env-mcp) and the execution step (generate install commands); an agent asked to 'install MCPs' may pick execute directly or stop at prepare.
generate_mcp_kit prepare_mcp_installation medium Both generate ready-to-use MCP install configurations for Claude Desktop, Cursor, and Windsurf from a project context, so a task like 'generate MCP setup/configs for my project' is ambiguous about which generator is intended.
analyze_tech compare_techs medium A request phrased as 'analyze React vs Vue' or 'analyze these technologies' uses the verb 'analyze' but requires compare_techs (2-4 technologies); an agent may instead route to analyze_tech, which scores a single technology.
create_audit get_audit medium 'Get me an audit of my stack' is ambiguous between creating a fresh technical-debt audit and fetching an existing report by ID; both definitions center on 'audit report', so either is a plausible pick.
get_audit list_audits low A user asking 'get my audits/show my audit reports' without supplying a UUID could route the agent to get_audit (which requires an ID) instead of list_audits; the shared 'audit report' wording blurs the intent.
generate_mcp_kit execute_mcp_installation low Both generate MCP installation commands/configs, so a task like 'generate the MCP install for my project' could pick either; only the .env-mcp prerequisite in execute_mcp_installation's description disambiguates them.
analyze_tech analyze_repo_mcps low 'Analyze my project/stack' is ambiguous between analyzing a single technology ID (analyze_tech) and scanning the repo to recommend MCP servers (analyze_repo_mcps); only the repo-vs-single-tech detail separates them.

Compare the field

One score is useful.
The evidence makes it actionable.

Back to the leaderboard