Skip to main content
Glama

UIKit MCP Server

This project is UIKits MCP Server for Flutter UI template.

Project Setup

To set up the project, follow these steps:

  1. Clone the repository:

    git clone https://github.com/anoochit/uikits_mcp_server.git
    cd uikits_mcp_server
  2. Create a virtual environment and install dependencies using uv:

    uv venv
    uv sync

Related MCP server: MCP Magic UI

Install

Install a MCP server in MCP client applications. FastMCP currently supports the following clients:

  • Claude Code: Installs via Claude Code’s built-in MCP management system

    fastmcp install claude-code main.py
  • Claude Desktop: Installs via direct configuration file modification

    fastmcp install claude-desktop main.py
  • Cursor: Installs via deeplink that opens Cursor for user confirmation

    fastmcp install cursor main.py
  • MCP JSON: Generates standard MCP JSON configuration for manual use

    fastmcp install mcp-json main.py

Available Tools

2 tools
get_template_codeA

Retrieve Dart source code for a specific Flutter template by ID.

The template ID must match one from the templates manifest. The source code is fetched directly from the GitHub repository using the file path defined in the manifest.

ParametersJSON Schema
NameRequiredDescriptionDefault
template_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses that the tool fetches source code from GitHub using a file path from a manifest, which adds useful behavioral context about the data source and process. However, it doesn't mention potential limitations like rate limits, authentication needs, error conditions, or what happens if the ID doesn't exist.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is perfectly concise with three sentences that each earn their place: stating the purpose, specifying ID requirements, and explaining the GitHub fetching mechanism. It's front-loaded with the core purpose and wastes no words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (fetching code from GitHub), no annotations, and the presence of an output schema (which handles return values), the description is reasonably complete. It covers purpose, parameter semantics, and behavioral context about the GitHub source. The main gap is lack of error/limitation information, but the output schema helps compensate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage for the single parameter 'template_id'. The description compensates by explaining that 'The template ID must match one from the templates manifest,' providing crucial semantic context about where valid IDs come from and their validation requirement. This significantly adds value beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Retrieve Dart source code'), the resource ('for a specific Flutter template by ID'), and distinguishes from the sibling tool 'list_templates' by focusing on retrieving source code rather than listing templates. It provides a complete purpose statement.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool: when you need the source code for a specific template identified by ID. It implicitly distinguishes from 'list_templates' (which lists templates rather than retrieving code) but doesn't explicitly state when NOT to use it or mention alternative tools beyond the sibling.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_templatesA

Fetch the latest list of Flutter templates from the GitHub repository.

This tool retrieves the templates manifest file and returns a human-readable list including template ID, title, and description.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses that the tool retrieves data from a GitHub repository and returns a human-readable list, which is useful behavioral context. However, it lacks details on potential errors, rate limits, authentication needs, or whether the operation is read-only or has side effects, leaving gaps in transparency for a tool interacting with an external source.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized with two sentences that are front-loaded and efficient. The first sentence states the core purpose, and the second adds details about the retrieval process and output format, with no wasted words or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (0 parameters, no annotations, but with an output schema), the description is mostly complete. It explains what the tool does and what it returns, and since an output schema exists, it need not detail return values. However, it could improve by addressing potential behavioral aspects like error handling or data freshness, given the external GitHub source.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0 parameters with 100% coverage, so the schema fully documents the absence of parameters. The description does not need to add parameter semantics, as there are none to explain. A baseline of 4 is appropriate since the description does not contradict or add unnecessary information about parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('fetch', 'retrieves') and resource ('list of Flutter templates from the GitHub repository', 'templates manifest file'), distinguishing it from the sibling tool 'get_template_code' which presumably retrieves code rather than a list. It explicitly identifies what is being retrieved and from where.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context by specifying that it fetches 'the latest list' and returns a 'human-readable list', suggesting it's for obtaining an overview. However, it does not explicitly state when to use this tool versus the sibling 'get_template_code' or provide any exclusions or alternatives, leaving some guidance implicit rather than explicit.

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. Dates show when Glama detected each change.

  1. 2 tool updatesv0.1.0
    • First observedget_template_code
    • First observedlist_templates

TDQS

A4/5.0
Disambiguation5/5

The two tools have clearly distinct purposes: one retrieves a list of templates (list_templates) and the other fetches source code for a specific template (get_template_code). There is no overlap in functionality, making it easy for an agent to choose the correct tool based on the task.

Naming Consistency5/5

Both tools follow a consistent verb_noun naming pattern (list_templates and get_template_code), using snake_case throughout. The verbs 'list' and 'get' are standard and appropriate for their respective actions, ensuring predictability and readability.

Tool Count2/5

With only two tools, the server feels thin for its apparent scope of managing Flutter templates. A typical MCP server in this domain would benefit from additional operations like creating, updating, or deleting templates, or at least more query options, to provide a more complete surface for agent workflows.

Completeness2/5

The tool set is severely incomplete for a Flutter template management server. While it covers listing and retrieving templates, there are significant gaps: no ability to create, update, delete, or search templates, and no operations for template validation or customization. This will likely cause agent failures when more complex tasks are required.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    D
    quality
    D
    maintenance
    A Model Context Protocol server that provides access to Magic UI components, allowing AI assistants and other MCP clients to discover and use UI components from the Magic UI design system.
    2
    14
    -
  • F
    license
    B
    quality
    C
    maintenance
    MCP server that fetches Figma data (file trees, nodes, images, components, styles, variables) and serves as a foundation for Flutter code generation.
    13
    -
  • F
    license
    A
    quality
    D
    maintenance
    An MCP server that scaffolds Flutter projects from a custom clean-architecture Bitbucket template, enabling AI agents to create, list, and inspect Flutter projects via natural language.
    3
    -

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/anoochit/uikits_mcp_server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server