MetaAPP MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MetaAPP MCP Serverinitialize a new MetaApp project called MyApp"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MetaAPP MCP Server
A comprehensive MCP (Model Context Protocol) service for MetaAPP development, providing tools for project initialization, protocol exploration, and blockchain interaction.
Features
Project Management: Initialize, preview, and build MetaApp projects from templates
Environment Detection: Check and guide Node.js and Git installation
Protocol Tools: Query and search MetaID protocols on blockchain
Documentation Access: Built-in MetaID and Metalet wallet API documentation
PIN Management: Fetch and analyze PIN data from blockchain
User Information: Query user profiles by address or MetaID
Prompt Templates: Pre-configured prompts for common MetaApp development tasks
Related MCP server: aptos-mcp
Installation
Prerequisites
Node.js v20.19.1 or higher (recommended via NVM)
npm or yarn
Git
Install Dependencies
npm installDevelopment
Run in Development Mode
npm run devBuild the Project
npm run buildRun Built Version
npm startProcess Management (PM2)
The server includes PM2 configuration for production deployment with auto-restart capabilities.
Start with PM2
npm run pm2:startStop PM2 Process
npm run pm2:stopRestart PM2 Process
npm run pm2:restartView Logs
npm run pm2:logsDocker Deployment
Build Docker Image
npm run docker:build
# or
docker build -t metaapp-mcp-server .Run Docker Container
npm run docker:run
# or
docker run -p 3000:3000 metaapp-mcp-serverMCP Tools
System Tools
get_assistant_metadata: Get complete server metadata including version and features
Documentation Tools
get_resource_tree: MetaID and Metalet wallet API documentation
get_manv1_api_resource: MAN V1 API capabilities and endpoints
get_manv2_api_resource: MAN V2 API capabilities and endpoints
Environment Tools
check_environment: Check if Node.js and Git are installed
install_node_guide: Installation guide for Node.js via NVM
install_git_guide: Installation guide for Git
Project Tools
init_project: Initialize a new MetaApp project from template
Parameters:
project_name,project_description,target_directory
run_project: Run npm run dev to preview the project
Parameters:
project_path
build_project: Build and package the project for deployment
Parameters:
project_path
Protocol Tools
get_metaprotocol_list: Get list of MetaProtocols
Parameters:
cursor(optional),size(optional)
search_protocol: Search for a specific protocol by name
Parameters:
protocol_name
get_pin_detail: Get details of a specific PIN
Parameters:
pin_id
get_pin_list_by_path: Get PIN list by protocol path
Parameters:
path,cursor(optional),size(optional)
get_user_info: Get user information
Parameters:
address_or_metaid
MCP Prompts
Available Prompts
meta_app_developer_guide: Activate professional MetaApp developer mode
init_metaapp_project: Initialize a new MetaApp project
Arguments:
project_name,project_description
explore_protocol: Explore and understand a MetaID protocol
Arguments:
protocol_name
deploy_metaapp: Deploy a MetaApp to the blockchain
Usage Example
With Claude Desktop
Add to your Claude Desktop configuration:
{
"mcpServers": {
"metaapp": {
"command": "node",
"args": ["/path/to/MetaAPP-Mcp/dist/index.js"]
}
}
}Direct Usage
The server runs on stdio transport and communicates via standard input/output:
node dist/index.jsProject Structure
MetaAPP-Mcp/
├── src/
│ ├── config/ # Configuration files
│ ├── prompts/ # Prompt templates
│ ├── tools/ # Tool implementations
│ │ ├── system-tools.ts
│ │ ├── documentation-tools.ts
│ │ ├── project-tools.ts
│ │ └── protocol-tools.ts
│ ├── types/ # TypeScript type definitions
│ ├── utils/ # Utility functions
│ │ ├── helpers.ts
│ │ └── api-client.ts
│ └── index.ts # Main server entry
├── dist/ # Compiled JavaScript
├── logs/ # PM2 logs
├── Dockerfile # Docker configuration
├── ecosystem.config.cjs # PM2 configuration
├── tsconfig.json # TypeScript configuration
└── package.json # Project metadata
API Endpoints
MetaID APIs
MAN V1:
https://man.metaid.io/apiMAN V2:
https://manapi.metaid.io
Key Resources
MetaID Docs: https://docs.metaid.io/
MetaID SDK: https://github.com/metaid-developers/metaid-sdk
MetaApp Template: https://github.com/metaid-developers/MetaApp-CLI
Metalet Wallet: https://metalet.space/
Deployment: https://metaweb-world.vercel.app
Development Workflow
Creating a New MetaApp
Check Environment:
Use: check_environmentInitialize Project:
Use: init_project Parameters: { target_directory: "/path/to/projects" }Explore Protocols:
Use: search_protocol Parameters: { protocol_name: "simplenote" }Develop Features: Follow the protocol structure to implement your app
Build for Deployment:
Use: build_project Parameters: { project_path: "/path/to/project" }Deploy: Upload the generated zip file to https://metaweb-world.vercel.app
Troubleshooting
Node.js Not Found
Use the install_node_guide tool to get installation instructions for your platform.
Git Not Found
Use the install_git_guide tool to get installation instructions for your platform.
Build Errors
Ensure you're in the correct project directory and all dependencies are installed:
cd your-project
npm install
npm run buildContributing
Contributions are welcome! Please follow these guidelines:
Fork the repository
Create a feature branch
Make your changes
Submit a pull request
License
MIT License - see LICENSE file for details
Support
GitHub Issues: Create an issue
MetaID Community: https://metaid.io/
Documentation: https://docs.metaid.io/
Credits
Built with:
MetaAPP MCP Server - Empowering MetaApp development with AI assistance
Available Tools
15 toolsbuild_projectC
Build and package the project for deployment
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | Yes | Path to the project directory |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It only says 'Build and package' without specifying what that entails (e.g., compilation steps, output artifacts, side effects, or resource requirements). This lacks crucial transparency for a build action.
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 brief with two short sentences, no redundancy. However, it could be restructured to front-load more useful information in the same space.
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?
Given the lack of annotations and output schema, the description is insufficient. It does not explain the build output, system effects, or required environment, making it incomplete for a build/packaging 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 input schema covers the single parameter 'project_path' with a description. The tool description does not add any additional meaning beyond what the schema provides, so it scores the baseline 3.
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 'Build and package the project for deployment', which clearly indicates the tool's function. However, it does not differentiate from siblings like 'run_project' or 'init_project', which could cause confusion when selecting the correct tool.
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?
There is no guidance on when to use this tool versus alternatives. No prerequisites, when-not-to-use, or context for selection are provided, leaving the agent to guess suitability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_environmentA
Check if Node.js and Git are installed on the system
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must disclose behavior. It states 'check if installed' but does not explain what 'check' entails (e.g., running commands, side effects, or return format). Minimal transparency.
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?
Single, front-loaded sentence with no wasted words.
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?
Given no parameters and no output schema, the description adequately covers the tool's purpose. Could mention return value but not required for this simple check.
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?
No parameters defined, so baseline is 4. Description does not need to explain parameters.
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 the tool checks for Node.js and Git installation. The verb 'check' and the resource 'installed status' are specific, and it distinguishes from sibling tools like install_node_guide.
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?
No guidance on when to use this tool vs alternatives, but context suggests it's a prerequisite check. Implicit usage but no explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_assistant_metadataA
Get complete MetaAPP MCP Server metadata including version, features, and configuration
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description implies a read-only operation with no side effects but doesn't disclose authentication needs, rate limits, or exactly what 'complete' entails. With no annotations, the description carries the full burden and provides minimal behavioral context beyond the return contents.
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?
Single sentence is concise and front-loaded with the key action and resource. No extraneous information. Every word 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?
Given no parameters and no output schema, the description adequately specifies the tool's purpose and what it returns (version, features, configuration). It is complete for a simple metadata retrieval 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?
No parameters exist, so schema coverage is 100%. The description adds no parameter information, but baseline for zero-parameter tools is 4. No additional semantics needed.
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 the tool retrieves 'complete MetaAPP MCP Server metadata' including 'version, features, and configuration', using a specific verb ('Get') and resource. It distinguishes from sibling tools like 'get_resource_tree' by focusing on server-level metadata.
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?
No explicit guidance on when to use or avoid this tool versus alternatives. However, the tool's simplicity (no parameters) makes usage self-evident for retrieving server metadata. A brief note on preferred contexts would improve clarity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_manv1_api_resourceA
Get MAN V1 API capabilities and endpoints
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It discloses the basic behavior (getting capabilities/endpoints) but lacks details about rate limits, authentication requirements, or the exact return format. The simplicity of the tool (no parameters) mitigates the gap, but more context would be helpful.
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, concise sentence that front-loads the key purpose. There is no unnecessary information, and every word adds value.
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?
Given the tool's simplicity (no parameters, no output schema), the description is adequate but could be more complete. It does not mention what 'capabilities and endpoints' entails, whether the operation is read-only, or any prerequisites. However, it is sufficient for a straightforward get 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 schema description coverage is 100%. The description does not need to add parameter meaning beyond the schema, achieving the baseline score of 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 'Get MAN V1 API capabilities and endpoints' clearly states the action (get) and the resource (MAN V1 API capabilities and endpoints). It effectively distinguishes from the sibling tool 'get_manv2_api_resource' by specifying the version.
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 usage for retrieving MAN V1 API information but does not provide explicit guidance on when to use it versus alternatives like 'get_manv2_api_resource'. No when-not or context-related instructions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_manv2_api_resourceB
Get MAN V2 API capabilities and endpoints
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does not disclose behavioral traits such as whether the operation is read-only, response format, or authentication requirements.
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 concise sentence with no fluff or wasted words.
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?
Given no output schema and no annotations, the description is minimal. It does not explain what 'capabilities and endpoints' entails or how the response can be used, leaving ambiguity for an agent.
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, and schema coverage is 100%. The description adds no param-specific info, but with no parameters, baseline is 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 the action (Get) and the resource (MAN V2 API capabilities and endpoints), distinguishing it from sibling tool get_manv1_api_resource by specifying V2.
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?
No guidance on when to use this tool versus alternatives (e.g., get_manv1_api_resource). The description does not provide context for appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_metaprotocol_listC
Get list of MetaProtocols from /protocols/metaprotocol path
| Name | Required | Description | Default |
|---|---|---|---|
| size | No | Page size (default: 20) | |
| cursor | No | Pagination cursor (default: 0) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral transparency. It only states the operation (list) and path but omits details like pagination behavior, permissions, side effects, or output format. The agent learns little beyond the basic read nature.
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 concise sentence, front-loading the action. It is efficient but could include more useful context without sacrificing brevity.
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?
Given the tool has two pagination parameters and no output schema, the description lacks important details such as the return format, what constitutes a MetaProtocol, error conditions, or relationship to sibling tools like get_resource_tree. It feels incomplete for effective agent use.
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 coverage is 100%, so baseline is 3. The description adds no parameter information beyond what the schema provides. It does not explain how size and cursor are used for pagination or defaults, but the schema is adequate.
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 the tool gets a list of MetaProtocols and specifies the API path. It uses a specific verb and resource, making the purpose clear. However, it does not differentiate from sibling tools like search_protocol or get_resource_tree, which could overlap.
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?
No guidance is provided on when to use this tool versus alternatives. There is no mention of context, prerequisites, or scenarios where it should or should not be used.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pin_detailA
Get details of a specific PIN by its ID
| Name | Required | Description | Default |
|---|---|---|---|
| pin_id | Yes | PIN ID to query |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose whether the tool is read-only, any permission requirements, rate limits, or error behavior. The description solely states the purpose without behavioral details.
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, focused sentence that efficiently conveys the tool's purpose without unnecessary verbiage.
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?
The description is adequate for a simple retrieval tool with one parameter. However, it lacks information about return values, error handling, or any behavioral context that would be helpful for a complete understanding.
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 input schema already provides full description coverage for the single parameter (pin_id). The description adds no additional meaning beyond what the schema provides.
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 the verb ('Get') and resource ('details of a specific PIN'), and the method ('by its ID'). It distinguishes itself from sibling tools like get_pin_list_by_path, which lists PINs.
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?
No explicit when-to-use or when-not-to-use guidance is provided. For a simple one-parameter tool, the context of needing a pin_id is implicit, but no alternatives are discussed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pin_list_by_pathB
Get PIN list by specific path
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Protocol path (e.g., /protocols/simplenote) | |
| size | No | Page size (default: 20) | |
| cursor | No | Pagination cursor (default: 0) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as pagination, error handling, or data freshness. The schema implies pagination via size and cursor, but the description does not clarify.
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 concise (one sentence) but lacks necessary detail for a tool with three parameters. It is efficient but under-specified.
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?
The description is insufficient for a tool with three parameters, no output schema, and no annotations. It does not explain return values, pagination behavior, or error conditions.
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 coverage is 100% with descriptions for all three parameters. The description adds little beyond the schema, merely stating 'specific path' which is redundant.
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 the verb 'Get', the resource 'PIN list', and the parameter 'specific path'. It distinguishes from sibling tools like get_pin_detail, which gets a single pin.
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 provides no guidance on when to use this tool vs alternatives, nor does it mention when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_resource_treeB
Get MetaID and Metalet wallet API documentation and resources
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description implies a read-only operation (getting documentation), which is adequate for a simple tool with no annotations. However, it does not mention any behavioral traits like authentication requirements or rate limits, though these may be unnecessary given the nature of the tool.
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?
Single sentence, front-loaded with the core action and resource. No wasted words.
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?
The description is simple but does not explain what 'resource tree' means or what format the output takes. Lacks details about the return value, which is important since there is no output schema.
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?
There are no parameters, and the schema coverage is 100%. With 0 parameters, the baseline is 4, and the description adds no param info because none is needed.
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 it gets MetaID and Metalet wallet API documentation and resources, but does not explain the 'tree' aspect from the name, making the purpose somewhat vague. It does not distinguish well from sibling tools like get_manv2_api_resource.
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?
No guidance on when to use this tool vs alternatives. The description only states functionality without any context on prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_user_infoB
Get user information by address or metaid
| Name | Required | Description | Default |
|---|---|---|---|
| address_or_metaid | Yes | User address or metaid |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose any behavioral traits such as what happens if the user is not found, rate limits, or data freshness. The description carries the full burden but adds no such context.
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, concise sentence with no redundant words. It efficiently conveys the tool's purpose without unnecessary detail.
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 lookup tool with one parameter, the description is minimally adequate. However, it lacks information about the return format, error handling, and the scope of 'user information', which could be provided given no output schema.
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 coverage is 100% with one parameter described. The description repeats the parameter's purpose ('by address or metaid') but does not add additional meaning beyond the schema. 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 clearly states the verb 'Get' and the resource 'user information', and specifies the required identifier as 'by address or metaid'. This distinguishes it from sibling tools which are about assistants, resources, environment, etc.
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 provides no guidance on when to use this tool versus alternatives. It does not mention context, prerequisites, or scenarios where this tool is preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
init_projectB
Initialize a new MetaApp project from template
| Name | Required | Description | Default |
|---|---|---|---|
| project_name | No | Name of the project (default: my-metaapp) | |
| target_directory | Yes | Target directory for the project (required) | |
| project_description | No | Brief description of the project |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions initialization from template but does not disclose side effects (e.g., overwriting existing directories), required permissions, or failure modes.
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 concise sentence with no wasted words. While it could include more detail, it is appropriately front-loaded and 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?
Lacking output schema and behavioral details. For a project initialization tool, missing information about directory creation, error handling, and post-conditions makes it incomplete.
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 coverage is 100% with descriptions for all three parameters. The description adds no additional parameter meaning beyond the schema, so baseline score 3 is appropriate.
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 the action ('Initialize'), the resource ('new MetaApp project'), and the source ('from template'), making it easy to distinguish from sibling tools like run_project or build_project.
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?
No guidance on when to use this tool versus alternatives, nor any prerequisites or exclusions. The description merely states the action without context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
install_git_guideB
Get installation guide for Git
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and description only states action without disclosing side effects, auth requirements, or output characteristics.
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?
Single sentence with no waste. Appropriate for a simple tool with no parameters.
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?
No output schema, and description does not specify what the installation guide contains (text, URL, etc.). Minimal completeness.
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?
No parameters, so schema coverage is 100%. Description adds no param-level detail, but for zero-param tools, baseline is 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?
Verb+resource structure is clear: 'Get installation guide for Git'. It distinguishes from siblings like install_node_guide by specifying Git, but does not explicitly differentiate.
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?
No guidance on when to use this tool versus alternatives. No context about prerequisites or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
install_node_guideA
Get installation guide for Node.js via NVM
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full burden of behavioral disclosure. It only says 'Get installation guide', without specifying whether the tool displays text, returns data, or triggers any side effects.
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, concise sentence that conveys the essential purpose without any extraneous words.
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 tool with no parameters and no output schema, the description is minimally adequate. However, it lacks details on the content or format of the guide, which could be improved.
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 input schema has 0 parameters, so the baseline is 4. The description is sufficient as no parameter details are needed.
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 the specific action 'Get installation guide' and the resource 'Node.js via NVM'. It is a distinct tool from siblings like install_git_guide, making its purpose unambiguous.
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?
No guidance is provided on when to use this tool versus alternatives. Given siblings like install_git_guide, explicit context on prerequisites or scenarios would be helpful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_projectC
Run npm run dev to preview the project
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | Yes | Path to the project directory |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only says 'run npm run dev to preview'. It does not disclose what happens (e.g., starts a dev server), side effects, or required environment setup.
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 very short and front-loaded, but it omits useful context. It is concise but at the expense of completeness.
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?
Given the tool's simplicity (1 parameter, no output schema), the description is mostly adequate. However, it lacks explanation of the preview's outcome (e.g., opens browser) and how it fits with sibling tools.
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?
With 100% schema coverage, the parameter 'project_path' is already described in the schema. The description adds no additional semantics beyond the schema.
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 the verb 'run' and the resource 'project', specifying the exact command 'npm run dev' to preview. It distinguishes from siblings like 'build_project' and 'init_project' by indicating a development preview purpose.
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 provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., node installed) or context (e.g., after initialization).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_protocolB
Search for a specific protocol by name
| Name | Required | Description | Default |
|---|---|---|---|
| protocol_name | Yes | Name of the protocol to search for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits. It only states 'Search', implying a read operation, but does not clarify permissions, error behavior, search algorithm (exact/substring), or what happens if not found.
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?
Single sentence with no fluff. Front-loaded action and resource. Efficient use of words.
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?
Despite low complexity, the description lacks essential context: no mention of return value format, what constitutes a protocol, or how it differs from listing protocols. Incomplete for a search 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?
Schema coverage is 100% for the single parameter. The description adds minimal value beyond the schema's description, just restating 'Name of the protocol'. No additional constraints like case sensitivity or format are given.
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 the verb 'search' and the resource 'protocol', and specifies the search constraint 'by name'. It distinguishes this tool from siblings like get_metaprotocol_list which list protocols without searching.
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?
No guidance on when to use this tool versus alternative tools. No discussion of prerequisites, when not to use, or context for invoking it compared to sibling tools.
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.
15 tool updates
v1.0.0- First observed
build_project - First observed
check_environment - First observed
get_assistant_metadata - First observed
get_manv1_api_resource - First observed
get_manv2_api_resource - First observed
get_metaprotocol_list - First observed
get_pin_detail - First observed
get_pin_list_by_path - First observed
get_resource_tree - First observed
get_user_info - First observed
init_project - First observed
install_git_guide - First observed
install_node_guide - First observed
run_project - First observed
search_protocol
TDQS
Most tools have distinct purposes, but there is some overlap between get_resource_tree, get_manv2_api_resource, and get_manv1_api_resource, which all retrieve API documentation. However, descriptions clearly differentiate them.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., get_assistant_metadata, init_project, search_protocol). No mixing of styles.
With 15 tools, the server covers project setup, environment checks, and API resource discovery without being overwhelming. The count is well-scoped for its purpose.
The tool set covers key aspects of MetaAPP development: project lifecycle, environment setup, and resource access. Minor gaps exist, such as lacking tools for project stopping or testing, but core workflows are supported.
Maintenance
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
MCP server for Klever blockchain smart contract development.
MCP server with quote and live cryptocurrency price tools, local and cloud-deployed transports.
21Self-hosted MCP server: 26 deterministic dev, security, and EVM tools.
A MCP server built for developers enabling Git based project management with project and personal…
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceA proxy server that unifies multiple MCP servers, enabling seamless tool, prompt, and resource management via the MetaMCP App.39155Apache 2.0
- FlicenseBqualityDmaintenanceA MCP server for interacting with Aptos documentation and creating full-stack Aptos blockchain applications.61-
- AlicenseAqualityDmaintenanceA meta-MCP server that helps users create new MCP servers through AI guidance, templates, and streamlined workflows, transforming ideas into production-ready implementations with minimal effort.42MIT
- AlicenseNot gradedqualityDmaintenanceA Meta MCP Server that provides persistent memory and intelligent guidance for MCP development projects.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/metaid-developers/metaapp-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server