kwnva.design portfolio
Server Details
Catalog MCP for kwnva.design case studies, studio profile, and project inquiries.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- kwnva/kwnva.design
- GitHub Stars
- 0
TDQS
Scored across 6 tools
The read tools are mostly distinct: fetch returns one project by id, list provides paginated browsing with category filters, and search queries by multiple fields. There is some overlap between list_portfolio_projects and search_portfolio_work when both are used for category filtering, but the descriptions are clear enough for an agent to choose appropriately.
All tool names follow a consistent snake_case verb_noun pattern: fetch_*, list_*, search_*, mint_*, submit_*. The style is uniform and predictable, even though the nouns for case studies vary slightly between project, portfolio, and work.
Six tools is a well-scoped size for a portfolio server. The core reading and searching operations are covered, and the two product actions (API key minting and project inquiry) add clear interaction value without bloating the surface.
The server covers the main portfolio use cases: listing projects, searching work, retrieving individual case study details, and fetching studio profile information. It also includes contact and API key actions, so there are no obvious dead ends or missing operations for the stated purpose.
Available Tools
6 toolsfetch_project_case_studyARead-onlyIdempotentInspect
Fetch one case study by project id, including the long-form body text when it exists.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Project folder id, for example palermo |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish the safe read-only, idempotent, non-destructive profile. The description adds the useful condition that body text is included only 'when it exists', but gives no detail about missing-id behavior, response shape, or ordering. Overall adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence states the action, scope, and conditional behavior with no filler. The key information is front-loaded, and every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read-only fetch with full schema coverage and safety annotations, the description is nearly complete: it identifies the resource, lookup key, and the main conditional content. It could mention the not-found case, but the simplicity of the tool makes that omission minor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents the single parameter with 100% coverage, including the meaning 'Project folder id, for example palermo'. The description only reiterates 'project id' and adds no new format or constraint information, so the schema carries the weight.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Fetch'), a concrete resource ('one case study'), and the lookup key ('project id'), and it adds the distinguishing detail that long-form body text is included when present. This clearly separates it from list_portfolio_projects and search_portfolio_work, which are plural/search operations, and from fetch_studio_profile.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes it clear this is the right call when the agent already has a project id and needs a single case study with full body text. It does not explicitly name alternatives or state when not to use it, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetch_studio_profileARead-onlyIdempotentInspect
Return studio services, contact email, social profiles, and when to hire kwnva.design.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the description's 'Return' is consistent and adds no contradiction. It does not add extra behavioral context like authentication or rate limits, but for a zero-parameter read-only fetch the additional burden is low.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence that names the main action and all key return categories without any filler. Every word contributes to understanding the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no input parameters, no output schema, and strong read-only annotations, the description adequately covers what the tool returns and its basic hiring context. Nothing critical is missing for an agent to decide whether to call this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description bears no responsibility for parameter explanation. The baseline for zero parameters is 4, and the description adds no unnecessary parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Return') and a clear resource ('studio profile'), and itemizes the contents: studio services, contact email, social profiles, and hiring guidance. This distinguishes it from siblings like portfolio projects or project case studies without needing to open the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'and when to hire kwnva.design' implies the tool is useful for hiring decisions, but the description does not explicitly state when to use this tool versus alternatives such as submit_project_inquiry or search_portfolio_work. Usage context is present but exclusions are absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_portfolio_projectsARead-onlyIdempotentInspect
List published kwnva.design case studies with optional category filter and cursor pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| cursor | No | ||
| category | No | Optional category such as Brand, App, or Website |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, covering safety. The description adds meaningful behavioral context: only published case studies are included, category filtering is supported, and cursor-based pagination is used. This goes beyond the annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence that conveys the primary action and resource first, then appends optional modifiers. There is no filler or redundancy, and every phrase adds relevant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list operation with no required parameters and no output schema, the description conveys the essential behavior: list published case studies, optionally filtered and paginated. It is slightly incomplete in that it does not address how search_portfolio_work relates or describe what fields appear in the returned list, but these are minor gaps given the simple scope.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, so the description must compensate. It explains that category is an optional filter and that cursor enables pagination, but it does not clarify the limit parameter beyond what the schema's min/max constraints imply. Partial compensation for low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action ('List'), a concrete resource ('published kwnva.design case studies'), and scope modifiers ('optional category filter', 'cursor pagination'). It also distinguishes itself from sibling tools: it enumerates case studies rather than fetching a single one, fetching the studio profile, or searching portfolio work.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: to list published case studies, optionally filtered by category or paginated. However, it does not explicitly explain when to choose this over the sibling search_portfolio_work or fetch_project_case_study, leaving the comparison to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mint_free_api_keyAInspect
Product action (do surface): mint a free kwnva.design API key for attributed writes and sandbox tests. No payment and no waitlist.
| Name | Required | Description | Default |
|---|---|---|---|
| client_name | No | Optional name for the agent or integration |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/destructive/idempotent hints; the description adds meaningful behavioral context by stating the key is free, requires no payment or waitlist, and is scoped to attributed writes and sandbox tests. It does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The substantive content is delivered in two short sentences with the key facts front-loaded. The 'Product action (do surface)' prefix is largely redundant and prevents a 5, but it does not obscure the actual guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one optional parameter and no output schema, the description conveys the action, purpose, and zero-friction prerequisites. It could be more explicit about the returned artifact, but 'mint an API key' sufficiently implies the key is the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% – client_name is already documented as an optional name for the agent or integration. The description adds no additional parameter-level meaning, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('mint') with a concrete resource ('a free kwnva.design API key') and a clear purpose ('attributed writes and sandbox tests'). This clearly distinguishes it from the sibling read/query/inquiry tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use it: when a free API key is needed for attributed writes or sandbox testing, with no payment and no waitlist. It does not explicitly name alternatives or exclusions, but the sibling tools are unrelated, so the context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_portfolio_workARead-onlyIdempotentInspect
Search case studies by title, client, category, role, stack, or description.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Search query |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds modest behavioral context by specifying which fields the query searches, but it does not disclose matching behavior, pagination, or result formatting. With annotations covering the core behavior, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the verb and resource and efficiently enumerates the searchable fields. There is no redundant or vague wording; every phrase contributes to understanding the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, read-only, non-destructive search tool with full schema coverage and safety annotations, the description provides the key contextual detail of which fields are searched. It does not specify query syntax or return shape, but those are not essential for an agent to invoke this simple tool correctly. A small gap remains around expected output, but overall it is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema describes the single parameter 'q' only as 'Search query', which is minimal. The tool description compensates by explaining that q matches against title, client, category, role, stack, or description, adding meaningful semantics beyond the schema. Given the high schema coverage baseline is 3, this added context pushes it to 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('search') on a specific resource ('case studies') and enumerates the fields searched. However, it does not explicitly differentiate this from sibling tools like fetch_project_case_study or list_portfolio_projects beyond the generic 'search' verb, so it misses the full 5-point criterion of distinguishing from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus its siblings. It does not mention that this tool is for free-text search across fields while fetch_project_case_study likely retrieves a single case study or list_portfolio_projects enumerates all projects. There is no exclusions or alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_project_inquiryBInspect
Product action (do surface): submit a project inquiry with name, email, and a brief. Use sandbox=true to avoid a real handoff.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| Yes | |||
| message | Yes | ||
| sandbox | No | ||
| projectId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly=false, idempotent=false, and destructive=false, lowering the burden on the description. The description adds useful sandbox behavior, but it does not disclose what a real handoff entails, such as external notifications or record creation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences and front-loads the action and core fields. The minor jargon 'do surface' prevents a top score, but overall it is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With five parameters, no output schema, and zero parameter descriptions, the description omits projectId, the behavior when sandbox=false, and any return/error details. It is minimally sufficient for a basic call but not robust enough for confident agent decision-making.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for all five parameters. It only clarifies that message is the 'brief' and mentions sandbox usage; projectId is completely undocumented, and no format or validation hints are given for name or email.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (submit) and resource (project inquiry) and identifies the core payload (name, email, and a brief). It is distinguishable from the fetch/list/search siblings as a write-style product action, though the phrase 'do surface' is somewhat opaque.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives one concrete usage directive: use sandbox=true to avoid a real handoff. However, it does not explicitly state when to choose this tool over sibling tools or any preconditions, leaving usage context mostly implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
6 tool updates
- First observed
fetch_project_case_study - First observed
fetch_studio_profile - First observed
list_portfolio_projects - First observed
mint_free_api_key - First observed
search_portfolio_work - First observed
submit_project_inquiry
Related MCP Connectors
Public portfolio MCP for resume, services, availability, project evidence, and introductions.
Labangram portfolio, services, pricing, and inquiry MCP endpoints.
MCP server for Mikhail (ManSio)'s engineering portfolio: projects, principles, lab, evidence.
DataKansasCityMO MCP — Kansas City, MO open data (data.kcmo.org, Socrata SODA API).
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceLocal MCP server providing a curated 201-card design reference library with natural-language style search, structured filtering, card retrieval, theme borrowing, and capture tooling — all private and offline.1MIT
- FlicenseNot gradedqualityBmaintenanceA proof-of-concept MCP server that augments the Canva CLI with custom tools for generating design briefs and staging assets for the Canva API.-
- AlicenseNot gradedqualityBmaintenanceThis MCP server enables searching Korean construction standards (KDS/KCS), laws from the Ministry of Government Legislation, administrative rules and interpretations, and optionally local water/wastewater design manuals to generate grounded evidence packages for engineering answers.2MIT

Identity Forge MCPofficial
AlicenseAqualityAmaintenanceMCP server for design kits and brand workflows. Coding agents can browse and apply design systems, create brand projects, and research names, domains, and EUIPO marks.61108 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.