MCP Server Template - UBOS

✨ From vibe coding to vibe deployment. UBOS MCP turns ideas into infra with one message.

Learn more

MCP Server Template

Prerequisites

LLM CLI Installation

This project requires the LLM CLI to be installed. You can install it using Homebrew:

brew install llm

After installation, ensure the llm command is available in your PATH by running:

llm --version

Getting Started

Development

  1. Install dependencies:

    npm install
    
  2. Start the development server with hot reload:

    npm run dev
    
  3. Build the project:

    npm run build
    
  4. Run tests:

    npm test
    
  5. Start the production server:

    npm start
    

Architect Tool

The Architect tool (src/tools/architect.ts) provides an interface to interact with the LLM CLI for architectural design feedback. It maintains conversation context and handles the communication between your application and the LLM CLI.

Features

  • Maintains conversation context across multiple interactions
  • Handles command execution through the LLM CLI
  • Provides error handling and logging
  • Supports both new conversations and continued discussions

Requirements

  • The LLM CLI must be installed and available in your PATH (see Prerequisites section)
  • Environment variables should be properly configured for the LLM CLI

Testing

The template includes a built-in TestClient for local testing and the MCP Inspector for visual debugging.

Using TestClient

The TestClient provides a simple way to test your tools:

import { TestClient } from "./utils/TestClient";

describe("YourTool", () => {
  const client = new TestClient();

  it("should process data correctly", async () => {
    await client.assertToolCall(
      "your-tool-name",
      { input: "test" },
      (result) => {
        expect(result.toolResult.content).toBeDefined();
      }
    );
  });
});

Using MCP Inspector

The template includes the MCP Inspector for visual debugging of your tools:

  1. Start the inspector:

    npx @modelcontextprotocol/inspector node dist/index.js
    
  2. Open the inspector UI at http://localhost:5173

The inspector provides:

  • Visual interface for testing tools
  • Real-time request/response monitoring
  • Tool metadata inspection
  • Interactive testing environment

Local Testing with Cursor

To test your MCP server locally with Cursor:

  1. Build and link the package:

    npm run build
    npm run link
    
  2. Verify the binary works:

    npx architect-test-mcp-tool
    
  3. Add the server to Cursor:

    • Open Cursor settings
    • Navigate to the Features tab
    • Scroll down to MCP Servers section
    • Click “Add Server”
    • Select “Command” type
    • Give it a name (e.g., “Local Example Tool”)
    • Enter the command: npx architect-test-mcp-tool
    • Click Confirm
  4. Verify the server starts correctly in Cursor by checking the MCP Servers section shows your server as running.

Note: If you make changes to your code, remember to rebuild and relink:

npm run build
npm run link

When you’re done testing, you can unlink the package:

npm run unlink

This will remove the global symlink created during development.

Troubleshooting

Using MCP Inspector

The MCP Inspector is a helpful tool for debugging and inspecting your MCP server. To use it:

  1. First, build your project:

    npm run build
    
  2. Run the inspector:

    npx @modelcontextprotocol/inspector node dist/index.js
    

The inspector provides a web interface that allows you to:

  • View all available tools and their schemas
  • Test tool calls interactively
  • Inspect request/response payloads
  • Debug communication issues between your server and clients

Featured Templates

View More
AI Assistants
Talk with Claude 3
153 1010
AI Assistants
Image to text with Claude 3
150 956
Customer service
Multi-language AI Translator
135 536
AI Characters
Sarcastic AI Chat Bot
127 1240

Start your free trial

Build your solution today. No credit card required.

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.