Skip to main content
Glama

Slack MCP Server

MCP Server with Streamable HTTP Transport built with LeanMCP SDK

Quick Start

# Install dependencies
npm install

# Start development server (hot reload + UI build)
npm run dev

# Build for production
npm run build

# Run production server
npm start

Project Structure

leanmcp-minimal/
├── main.ts              # Server entry point
├── mcp/                 # Services directory (auto-discovered)
│   └── example/
│       └── index.ts     # Example service
├── .env                 # Environment variables
└── package.json

Adding New Services

Create a new service directory in mcp/:

// mcp/myservice/index.ts
import { Tool, SchemaConstraint } from "@leanmcp/core";

// Define input schema
class MyToolInput {
  @SchemaConstraint({ 
    description: "Message to process",
    minLength: 1
  })
  message!: string;
}

export class MyService {
  @Tool({ 
    description: "My awesome tool",
    inputClass: MyToolInput
  })
  async myTool(input: MyToolInput) {
    return {
      content: [{
        type: "text",
        text: `You said: ${input.message}`
      }]
    };
  }
}

Services are automatically discovered and registered - no need to modify main.ts!

Adding UI Components

Use @UIApp decorator to link tools to React components:

// mcp/products/index.ts
import { Tool } from "@leanmcp/core";
import { UIApp } from "@leanmcp/ui";

export class ProductsService {
  @Tool({ description: "List products" })
  @UIApp({ component: "./ProductsDashboard" })
  async listProducts() {
    return { products: [...] };
  }
}
// mcp/products/ProductsDashboard.tsx
import { ToolDataGrid, RequireConnection } from "@leanmcp/ui";

export function ProductsDashboard() {
  return (
    <RequireConnection loading={<div>Loading...</div>}>
      <ToolDataGrid toolName="listProducts" columns={[...]} />
    </RequireConnection>
  );
}

The CLI automatically builds UI components and wraps them with AppProvider.

Features

  • Zero-config auto-discovery - Services automatically registered from ./mcp directory

  • Type-safe decorators - @Tool, @Prompt, @Resource with full TypeScript support

  • Schema validation - Automatic input validation with @SchemaConstraint

  • HTTP transport - Production-ready HTTP server with session management

  • Hot reload - Development mode with automatic restart on file changes

  • UI Components - React UI components with @UIApp decorator

Testing with MCP Inspector

npx @modelcontextprotocol/inspector http://localhost:3001/mcp

License

MIT

-
security - not tested
F
license - not found
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

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/lilylilysunshine/LeanMCP-MCP-Server'

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