Question MCP
MCP server: Question MCP
Installation
npx question-mcpAsk AI about Question MCP
Powered by Claude Β· Grounded in docs
I know everything about Question MCP. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
MCP Template for Deno
A template for creating Model Context Protocol (MCP) servers using Deno.
What is MCP?
The Model Context Protocol (MCP) is a standard for connecting AI models with external tools, data sources and applications. This template provides a starting point for creating your own MCP server that can extend the capabilities of AI assistants.
Features
- Simple and extensible MCP server template
- Built with Deno and TypeScript
- Uses the official MCP SDK
- Includes example tools and tests
Getting Started
Prerequisites
- Deno installed on your system
Installation
- Clone this repository or use it as a template
- Install dependencies:
deno cache src/stdio.ts
Running the server
After modifying the template code with your own implementation:
deno task start
For development with the MCP Inspector:
deno task dev
Testing with Goose
If you have Goose installed:
deno task goose
Development
Testing
Run the tests:
deno task test
Type Checking
Check for type errors:
deno task check
Linting
Lint the code:
deno task lint
Available Commands
deno task start: Start the MCP serverdeno task dev: Start the server with the MCP Inspectordeno task goose: Start a Goose session with this MCPdeno task test: Run testsdeno task check: Type check the codedeno task lint: Lint the codedeno task tools: List available toolsdeno task resources: List available resources
Project Structure
/
βββ src/ # Core template source code
β βββ AppMcpServer.ts # Main template server
β βββ stdio.ts # Entry point
βββ tests/ # Unit tests
App Design Question Tool
This MCP includes an interactive app design preference gathering tool:
question_app_design: Gathers comprehensive app design preferences through an interactive, sequential questioning process.
-
Required parameters:
choose_style(boolean): Whether user wants to customize visual aspectsprimary_platform(enum: "mobile", "desktop", "both"): Main platform for the appmulti_language_support(boolean): Whether app should support multiple languages
-
Parameters prompted in sequence during interaction:
design_style(string): User-defined design style preferencecustom_palette(boolean): Whether user wants a custom color palettepalette(string[]): List of colors for the custom palettecolor_usage_plan(string): Where to apply the selected colorsfont_preference(string): Preferred font styleinitial_components(string[]): Specific UI components to includelanguages(string[]): Languages to support (if multi-language)
The tool ensures all necessary questions are asked in a logical sequence, with follow-up questions based on previous answers.
Customizing the Template
To create your own MCP server:
- Modify the
AppMcpServerclass with your desired name and version - Replace or enhance the
registerToolsmethod with your custom tools - Implement your tool logic
- Update the
deno.jsonfile with your project name
Example of customizing the template:
// src/AppMcpServer.ts
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { z } from "zod";
export class AppMcpServer extends McpServer {
constructor() {
// Change name and version to your own
super({
name: "my-custom-mcp",
version: "1.0.0",
});
this.registerTools();
}
protected registerTools(): void {
// Add your custom tools here
this.tool(
"greet",
"Greet a person by name",
{
name: z.string().describe("The name of the person to greet"),
formal: z.boolean().optional().describe("Use formal greeting style"),
},
async ({ name, formal }) => {
const greeting = formal ? `Hello, ${name}.` : `Hi ${name}! π`;
return {
content: [{
type: "text",
text: greeting,
}],
};
},
);
}
}
