Forward Claude Code lifecycle events—including Stop, PreToolUse, PostToolUse, UserPromptSubmit, and PostToolUseFailure—to Gram by executing a bash script asynchronously, enabling analytics, monitoring, and compliance tracking across sessions.
npx claudepluginhub speakeasy-api/gram --plugin gram-hooksExecute TypeScript code that calls MCP tools with full type safety
Centralized Claude Code configuration: Docker-first guards, permissions, MCP gateway, and workflow skills
MCP server development helper with tool and resource scaffolding
Build Model Context Protocol (MCP) servers with mcp-use framework. Includes quick start, tools, resources, prompts, testing, and deployment guidance.
Auto-generate MCP servers from any scriptable application's source code or API spec. Bundles slash commands to run the mcp-anything CLI pipeline from inside Claude Code.
Build FastMCP 3.x Python MCP servers — covers provider/transform architecture (including CodeMode, Tool Search, and server-level transforms), component versioning, session state, authorization (MultiAuth, PropelAuth, connection-pooled token verifiers), evaluation creation, Pydantic validation, async patterns, STDIO and HTTP transports, nginx reverse proxy deployment, background tasks, Prefab Apps UI, security patterns, client SDK usage, testing, deployment, and migration from FastMCP v2. TypeScript is a legacy reference only and is not updated for v3.
Matches all tools
Hooks run on every tool call, not just specific ones
Share bugs, ideas, or general feedback.
Learn more »
Documentation ·
Tech Stack ·
Contributing ·
Login
Gram is a platform for creating, curating, and hosting Model Context Protocol (MCP) servers with ease. We currently support both OpenAPI documents as well as custom TypeScript functions as sources for tools.
With Gram you can empower your LLM and Agents to access the right data at the right time. Gram provides a high-level TypeScript SDK and OpenAPI support to define tools, compose higher order custom tools and group tools together into toolsets. Every toolset is instantly available as a hosted and secure MCP server.
If you are looking to get started on the hosted platform you can Sign up, or check out the Quickstart guide.
└ Minimal, lightweight, and open source.
└ High-level TypeScript framework that makes working with MCP easy.
└ Use a custom tool builder to create higher-order tools by chaining lower level tools.
└ OAuth support out-of-the-box: DCR, BYO Authorisation, and standard flows.
└ First class support for OpenAPI 3.0.X and 3.1.X.
└ Follows the MCP specification.
Create agentic tools from simple TypeScript code using the Gram Functions Framework. Refer to the Getting Started guide to learn more.
The fastest way to get started is with the npm create @gram-ai/function@latest command, which creates a complete TypeScript project with a working Gram function. Deployable and runnable locally as a MCP server.
# Install the CLI and follow the prompts
npm create @gram-ai/function@latest
# Once created, move into your newly created function directory
cd my_function
# Build and Deploy
npm run build
npm run push
A default function is created for you.
import { Gram } from "@gram-ai/functions";
import * as z from "zod/mini";
const gram = new Gram().tool({
name: "add",
description: "Add two numbers together",
inputSchema: { a: z.number(), b: z.number() },
async execute(ctx, input) {
return ctx.json({ sum: input.a + input.b });
},
});
export default gram;
In addition you get a:
server.ts is created so you can run the tool locally as a MCP server with MCP inspector with pnpm run devREADME and CONTRIBUTING guide for next steps on building out your custom tool.└ Host one or more remote MCP servers at a custom domain like mcp.{your-company}.com.
└ Power your in-application chat by exposing context from your internal APIs or 3rd Party APIs through tools.
└ Add data to your AI workflows in Zapier, N8N and other workflow platforms
└ Manage and secure MCP servers for your entire organization through a unified control plane.
Check out the examples folder in this repo for working examples. Or open a pull request if you have one to share!
The CLI allows for programmatic access to Gram, enabling you to manage the process of pushing sources (either OpenAPI documents or Gram Functions) for your MCP servers. Get started with documentation here.
curl -fsSL https://go.getgram.ai/cli.sh | bash
And then:
gram auth
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claim