lam-mcp
v0.1.0
Published
LAfricaMobile MCP Server — exposes LAMPUSH SMS API spec as Resources and Prompts
Downloads
66
Readme
LAfricaMobile MCP Server
An MCP (Model Context Protocol) server that helps developers integrate the LAfricaMobile SMS API into their projects.
Instead of reading API docs, you invoke a prompt in Claude or Cursor — the server injects the relevant spec, and Claude scaffolds a working integration in your project's language and framework.
How it works
Developer invokes prompt in Claude/Cursor
│
▼
MCP Server injects LAMPUSH API spec (Resources)
│
▼
Claude reads the spec and scaffolds integration code
in the developer's open projectNo credentials touch this server. No API calls are proxied. It is a knowledge source — the spec travels to Claude, Claude writes the code.
Prompts
| Prompt | What Claude generates |
|---|---|
| integrate_sms_send | HTTP client function, env var config, .env.example, phone number normalization, sender validation |
| integrate_sms_delivery | Webhook handler for all 6 delivery status codes, router integration |
| integrate_sms_credits | Credit balance check function with env var credentials |
Resources
The server exposes these readable API spec documents:
| URI | Content |
|---|---|
| lampush://sms/auth | Credentials, env var names, security rules |
| lampush://sms/send | Endpoint, request body, phone format, scheduling, bulk SMS |
| lampush://sms/delivery | Callback shape, all 6 delivery status codes, handler pattern |
| lampush://sms/credits | Credits endpoint, response format |
Installation
Requirements
- Node.js 18+
- An MCP-compatible client (Claude Desktop, Cursor, or any MCP host)
From source
git clone https://github.com/mass-gueye/mcp.git
cd mcp
npm install
npm run buildConfigure your MCP client
Claude Desktop — edit claude_desktop_config.json:
{
"mcpServers": {
"lam-mcp": {
"command": "node",
"args": ["/absolute/path/to/mcp/dist/server.js"]
}
}
}Cursor — add to .cursor/mcp.json in your project or global Cursor settings:
{
"mcpServers": {
"lam-mcp": {
"command": "node",
"args": ["/absolute/path/to/mcp/dist/server.js"]
}
}
}Usage
Open a project in Claude or Cursor, then invoke a prompt:
/integrate_sms_sendClaude will read your project structure, pick up the language and framework, and scaffold a complete SMS sending integration.
Development
npm test # run all tests (vitest)
npm run build # compile TypeScript → dist/
npm run test:watch # watch modeProject structure
content/
catalog.json — single source of truth: products, capabilities, trigger phrases
sms-auth.md — LAMPUSH auth spec
sms-send.md — push endpoint spec
sms-delivery.md — delivery callback spec
sms-credits.md — credits endpoint spec
prompts/
integrate_sms_send.md — scaffold instruction for SMS sending
integrate_sms_delivery.md
integrate_sms_credits.md
src/
product-catalog.ts — deep module: loads catalog.json, owns all registries
resource-content.ts — re-export facade over ProductCatalog
prompt-builder.ts — re-export facade over ProductCatalog
server-instructions.ts — assembles SERVER_INSTRUCTIONS + TOOL_DESCRIPTION from catalog
create-server.ts — pure wiring: registers resources, prompts, and tool
server.ts — entry point: stdio transport
__tests__/
resource-content.test.ts
prompt-builder.test.ts
server.test.ts
documentation/
getting-started.md
resources.md
prompts.md
contributing.mdTo add a new product or capability: add .md spec files, add .md prompt files, add an entry to content/catalog.json. No TypeScript changes required.
License
MIT
