LeanMCP Minimal Server
Enables interaction with Slack, providing tools to manage messages, channels, and workspace communications.
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., "@LeanMCP Minimal ServerShow me the list of available products"
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.
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 startProject Structure
leanmcp-minimal/
├── main.ts # Server entry point
├── mcp/ # Services directory (auto-discovered)
│ └── example/
│ └── index.ts # Example service
├── .env # Environment variables
└── package.jsonAdding 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
./mcpdirectoryType-safe decorators -
@Tool,@Prompt,@Resourcewith full TypeScript supportSchema validation - Automatic input validation with
@SchemaConstraintHTTP transport - Production-ready HTTP server with session management
Hot reload - Development mode with automatic restart on file changes
UI Components - React UI components with
@UIAppdecorator
Testing with MCP Inspector
npx @modelcontextprotocol/inspector http://localhost:3001/mcpLicense
MIT
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Appeared in Searches
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