Skip to main content
Glama

sfluv-mcp

MCP server for SFLUV. Exposes SFLUV workflows, votes, and wallet data to AI agents (Claude, ChatGPT, Cursor, etc.) over the Model Context Protocol, with per-user OAuth authorization handled by Better Auth.

This is a skeleton. See docs/CONTEXT.md for the full design, the decisions baked in, the open questions, and the ordered TODO list.

Quick start

pnpm install
cp .env.example .env
# fill in BETTER_AUTH_URL, SFLUV_BACKEND_URL, SFLUV_BACKEND_SERVICE_TOKEN
pnpm dev

Server runs on http://localhost:4000.

GET /healthz for a liveness check. POST /mcp is the MCP endpoint. The OAuth discovery endpoints (/.well-known/oauth-authorization-server, /.well-known/oauth-protected-resource) proxy to the Better Auth instance.

Layout

src/
  index.ts            Hono entrypoint, MCP route, OAuth discovery proxies
  auth.ts             Better Auth MCP client (Bearer token validation)
  backend.ts          Typed client for the SFLUV Go API (act-as-user)
  server.ts           buildMcpServer(userDid) — McpServer factory
  env.ts              Env validation (zod)
  tools/
    index.ts          Registers all tools on a server instance
    workflows.ts      list_active_workflows, get_workflow
    wallet.ts         list_my_wallets, get_my_user
    contacts.ts       list_my_contacts
docs/
  CONTEXT.md          Handoff: design, decisions, what's next

Stack

  • Node 20+ (no Bun-specific APIs; deploys to whatever runs the Go backend).

  • Hono for HTTP. Trivial to swap; we use ~five Hono APIs.

  • @modelcontextprotocol/sdk — the official MCP TypeScript SDK.

  • better-auth — only the better-auth/plugins/mcp/client adapter; the Better Auth server itself runs elsewhere.

  • zod for env and tool input validation.

What it does NOT do (yet)

  • No on-chain actions. No signing. No token transfers. See docs/CONTEXT.md → "Signing path" before writing any tool that mutates on-chain state.

  • No persistent MCP sessions — each POST /mcp builds a fresh server. Fine for stateless tools; revisit when adding long-running streamed tools.

  • No rate limiting, no audit log, no per-tool scope checking. All called out in the TODO list.

F
license - not found
-
quality - not tested
C
maintenance

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/SFLuv/mcp'

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