freshcrate
Home > MCP Servers > gram

gram

Securely scale AI usage across your organization. Control plane for building, securing and monitoring your agents, mcp and skills.

Description

Securely scale AI usage across your organization. Control plane for building, securing and monitoring your agents, mcp and skills.

README

Gram

Gram - The MCP Cloud Platform


Learn more ยป

Built by Speakeasy
Documentation ยท Tech Stack ยท Contributing ยท Login


Introduction

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.

What can you do with Gram?

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.

Features

โ”” 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.

Gram Functions

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:

  • A server.ts is created so you can run the tool locally as a MCP server with MCP inspector with pnpm run dev
  • A README and CONTRIBUTING guide for next steps on building out your custom tool.

Common use cases include:

โ”” 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!

Gram CLI

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

Support

  • Slack: Join our slack for support and discussions
  • In-App: When using the application you can engage with the core maintainers of the product.
  • GitHub: Contribute or report issues on this repository.
  • Documentation for Gram is also open source. View it here and contribute here.

Contributing

Contributions are welcome! Please open an issue or discussion for questions or suggestions before starting significant work.

See CONTRIBUTING.md for development setup and detailed contribution guidelines.

Techstack

โ”” TypeScript โ€“ dashboard language.
โ”” Golang - backend language.
โ”” Goa - design-first API framework.
โ”” Temporal - workflow engine.
โ”” Polar - usage based billing.
โ”” OpenRouter - LLM gateway.
โ”” Speakeasy - Generated SDKs. Spec hosted here.

Release History

VersionChangesUrgencyDate
@gram-ai/create-function@0.14.1 High4/19/2026
@gram/client@0.32.65### Patch Changes - e56314e: Captures token and cost metrics for Claude agent sessions High4/19/2026
server@0.40.1### Patch Changes - 3d9188f: Change ID Token syncing behavior to be slighlty less eager High4/19/2026
dashboard@0.41.1### Patch Changes - e56314e: Captures token and cost metrics for Claude agent sessions - Updated dependencies [e56314e] - @gram/client@0.32.65 High4/19/2026
@gram-ai/functions@0.14.1### Patch Changes - a0de333: Fix pnpm install warning by pointing gf bin to source .ts instead of compiled dist High4/19/2026
@gram-ai/elements@1.28.0### Minor Changes - 3a3850e: Restore the rich tool-call rendering in the playground. The MCP Apps integration had replaced Elements' default tool UI for every tool call; now the playground delegates to the default `ToolFallback` and only appends the MCP App iframe when the tool has a UI resource binding. Elements now exports `ToolFallback` from its public API so consumers can compose around it. High4/17/2026
server@0.40.0### Minor Changes - ea1e23d: Add organisational collections and the capability to publish MCP servers to share within the organisation. - f749a53: Add plugins feature for distributing MCP server bundles to teams and allowing zip distribution ### Patch Changes - d2bf604: Adds a new project metrics summary endpoint containing new data to power the new homepage - 1ea6dff: Adds a super-admin interface for enabling RBAC to organisations. - f127399: Set a hard limit on concurrent HTTP reqHigh4/17/2026
dashboard@0.41.0### Minor Changes - 63317cc: feat: replace MCPEnableButton with 3-state status dropdown (Disabled/Private/Public) - 91f7e0d: Improve OAuth configuration for external MCP servers with a new step-by-step wizard flow. Extracts OAuth setup into a dedicated wizard with state machine (useReducer), supports both proxy and external OAuth paradigms, and adds success/failure result steps. - ea1e23d: Add organisational collections and the capability to publish MCP servers to share within the organisHigh4/17/2026
dashboard@0.40.0### Minor Changes - 98d322b: Add support for triggers across Gram. This introduces webhook and scheduled triggers end to end, including server APIs, worker execution for trigger dispatch and cron processing, SDK support, and dashboard UI for managing trigger definitions and instances. ### Patch Changes - 19fb17f: Add ability to soft-delete chat sessions from the dashboard with confirmation dialog, available from both the chat list table and detail panel - cdf94a3: Redesign deploymeMedium4/14/2026
server@0.39.0### Minor Changes - 98d322b: Add support for triggers across Gram. This introduces webhook and scheduled triggers end to end, including server APIs, worker execution for trigger dispatch and cron processing, SDK support, and dashboard UI for managing trigger definitions and instances. ### Patch Changes - 04e0240: Disabled the logger for the retryablehttp client to avoid noisy logs that can clutter the output. - 6a23890: Fixed an issue where toolset lookup for install pages had fallMedium4/14/2026
dashboard@0.39.0### Minor Changes - 61cc193: Add team invite flow with accept page, configurable expiry, and security hardening ### Patch Changes - 734c03d: Fix playground credential saving failing with "length of slug must be lesser or equal than 40" error. The environment slug format was shortened to stay within the server's 40-character limit. Medium4/11/2026
@gram/client@0.32.45# @gram/client ## 0.33.0 ### Minor Changes - b328938: Add static platform tools to tool discovery and the built-in MCP logs server. ### Patch Changes - 3a3acd3: Add editable OAuth proxy server configuration. Admins can now edit an existing OAuth proxy server's audience, authorization endpoint, token endpoint, scopes, token endpoint auth methods, and environment slug without having to unlink and recreate the configuration. The new `POST /rpc/toolsets.updateOAuthProxyServer` endpointMedium4/11/2026
server@0.38.0### Minor Changes - 0e42ed2: Add UserPromptSubmit, afterAgentThought and afterAgentResponse hooks capture for Cursor - 61cc193: Add team invite flow with accept page, configurable expiry, and security hardening ### Patch Changes - 0b296d6: Stop serializing the full role object into the after_snapshot column of the audit log when a role is created. This data bloats the database unnecessarily. A future dashboard update will link directly to the role instead for this audit log event. Medium4/11/2026
server@0.37.0### Minor Changes - 3a3acd3: Add editable OAuth proxy server configuration. Admins can now edit an existing OAuth proxy server's audience, authorization endpoint, token endpoint, scopes, token endpoint auth methods, and environment slug without having to unlink and recreate the configuration. The new `POST /rpc/toolsets.updateOAuthProxyServer` endpoint accepts partial updates with PATCH semantics (omit fields to leave them unchanged; pass an empty array to clear array fields). The dashboMedium4/10/2026
dashboard@0.38.0### Minor Changes - b328938: Add static platform tools to tool discovery and the built-in MCP logs server. ### Patch Changes - 3a3acd3: Add editable OAuth proxy server configuration. Admins can now edit an existing OAuth proxy server's audience, authorization endpoint, token endpoint, scopes, token endpoint auth methods, and environment slug without having to unlink and recreate the configuration. The new `POST /rpc/toolsets.updateOAuthProxyServer` endpoint accepts partial updates wiMedium4/10/2026
dashboard@0.37.2### Patch Changes - 494f76c: Adds support for tracking skills in hooks dashboard - baa93c7: Store user-provided playground credentials in encrypted server-side environments instead of localStorage. Credentials are scoped per-user per-toolset and resolved server-side when proxying to MCP servers. Also shows the active environment name in the authentication section and adds a starter suggestion prompt. - Updated dependencies [494f76c] - @gram/client@0.32.38 Medium4/8/2026
server@0.36.0### Minor Changes - 58d44eb: Add team management endpoints (invites & members) ### Patch Changes - 252cbca: fix: allow platform domain to serve MCPs with custom domains - 494f76c: Adds support for tracking skills in hooks dashboard Medium4/8/2026
@gram/client@0.32.38### Patch Changes - 494f76c: Adds support for tracking skills in hooks dashboard Medium4/8/2026
dashboard@0.37.1### Patch Changes - fc19ac9: Rename Chat Sessions, Slack, and CLIs dashboard nav tabs to Agent Sessions, Assistants, and Skills - 3af7f95: fix install instructions for cursor hooks - d571001: Fix tool request/result JSON clipping in playground by adding `overflow-auto` to the details container - 4531f8e: Performance tab for MCP page tool selection mode for static and dynamic toolsets. - 8c488a2: Restore audit logs sidebar link alongside roles & permissions - 7a685a7: Update playgrouMedium4/6/2026
@gram-ai/elements@1.27.6### Patch Changes - 7a685a7: Update playground models to latest OpenRouter offerings โ€” add Claude Sonnet 4.6, GPT-5.4 Mini, o4-mini, o3, Gemini 3.1 Pro, DeepSeek R1/V3.2, Llama 4 Maverick, Grok 4, Qwen3 Coder and remove superseded models Medium4/6/2026
@gram-ai/create-function@0.14.0 Medium4/3/2026
@gram/client@0.32.20### Patch Changes - 0a3af53: Adds support for full session capture from Claude. Complete transcripts of prompts, responses, and tool calls Medium4/3/2026
dashboard@0.37.0### Minor Changes - c28788e: Add MCP App support across the playground, local functions runner, and the functions SDK. Improve local runner lifecycle handling for proxied tool and resource responses, and only seed MCP App function assets when the functions backend is local. ### Patch Changes - 0a3af53: Adds support for full session capture from Claude. Complete transcripts of prompts, responses, and tool calls - ba10ce4: Add Cursor hooks support with authenticated endpoint, plugin,Medium4/3/2026
server@0.35.0### Minor Changes - ba10ce4: Add Cursor hooks support with authenticated endpoint, plugin, and setup ### Patch Changes - 0a3af53: Adds support for full session capture from Claude. Complete transcripts of prompts, responses, and tool calls - c28788e: Add MCP App support across the playground, local functions runner, and the functions SDK. Improve local runner lifecycle handling for proxied tool and resource responses, and only seed MCP App function assets when the functions backenMedium4/3/2026
@gram-ai/functions@0.14.0### Minor Changes - c28788e: Add MCP App support across the playground, local functions runner, and the functions SDK. Improve local runner lifecycle handling for proxied tool and resource responses, and only seed MCP App function assets when the functions backend is local. Medium4/3/2026
server@0.34.2### Patch Changes - bfae9f2: Adds role based access control enforcement to projects (behind feature flag) - f2ec00c: Fixes issue with Oauth validation checks. - c0d3215: Fix custom domain verification to fail fast on transient database errors instead of incorrectly creating a new domain record Medium4/2/2026
dashboard@0.36.4### Patch Changes - 5d68b58: Replace browser confirm() with Dialog component for MCP server deletion - bcc775c: adds feature flagged dashboard for assigning roles Medium4/2/2026
dashboard@0.36.3### Patch Changes - 3831ca8: Improve initial page load performance by prefetching key queries in parallel with auth, adding preconnect hints, and switching font-display to swap. - 19fcd09: when searching mcp logs show available attribute keys Medium4/1/2026
server@0.34.1### Patch Changes - 9f179d5: Ensure `DeleteProject` returns idempotent success for non-existent project. - a1c64a1: Fix toolset cache not being invalidated when a template is deleted. - a64842e: Removes grants api endpoints (replaced by roles management). Medium4/1/2026
@gram/client@0.32.17# @gram/client ## 0.33.0 ### Minor Changes - 658bef4: Adds new API endpoints for access and permissions management. ## 0.28.5 ### Patch Changes - 7ef727b: Add ability to detach an environment from an MCP server ## 0.28.0 ### Minor Changes - 8c72d8c: Renames attribute_filters to filters in searchLogs, and introduces "in" operator. ### Patch Changes - d8133af: Suite of hooks improvements ## 0.27.20 ### Patch Changes - 1765931: Removes the logs enabled flag in the telemetry Medium4/1/2026
dashboard@0.36.2### Patch Changes - b0f341b: Fix Pylon chat widget overlapping playground send button by hiding the default launcher and adding toggle support to the Get Support button. - c54bf04: Clean up defunct observability seed tool logic Medium3/31/2026
@gram/client@0.32.15# @gram/client ## 0.33.0 ### Minor Changes - 658bef4: Adds new API endpoints for access and permissions management. ## 0.28.5 ### Patch Changes - 7ef727b: Add ability to detach an environment from an MCP server ## 0.28.0 ### Minor Changes - 8c72d8c: Renames attribute_filters to filters in searchLogs, and introduces "in" operator. ### Patch Changes - d8133af: Suite of hooks improvements ## 0.27.20 ### Patch Changes - 1765931: Removes the logs enabled flag in the telemetry Medium3/31/2026
server@0.34.0### Minor Changes - c9d23f8: Adds an API for role, membership and grants management. - e177e45: Improve user-facing deployment logs with source processing details and aggregate summary ### Patch Changes - 0c07035: fix: revert "feat: allow other security schemes when public OAuth is configured" - 7978914: Validate that default_environment_id belongs to the caller's project before storing it in MCP metadata Medium3/31/2026
@gram/client@0.32.12# @gram/client ## 0.33.0 ### Minor Changes - 658bef4: Adds new API endpoints for access and permissions management. ## 0.28.5 ### Patch Changes - 7ef727b: Add ability to detach an environment from an MCP server ## 0.28.0 ### Minor Changes - 8c72d8c: Renames attribute_filters to filters in searchLogs, and introduces "in" operator. ### Patch Changes - d8133af: Suite of hooks improvements ## 0.27.20 ### Patch Changes - 1765931: Removes the logs enabled flag in the telemetry Medium3/28/2026
dashboard@0.36.1### Patch Changes - 2b7754e: Align built-in MCP detail page header and install section with standard MCP detail page styling Medium3/28/2026
server@0.33.0### Minor Changes - 2850644: Allow multiple security schemes even when OAuth servers are configured on public servers ### Patch Changes - 6160abf: Moved control server initialization after all routes and middleware are attached, and added a /healthz endpoint to the main API mux so the control server can verify the API is actually serving traffic before reporting healthy. Medium3/28/2026
dashboard@0.36.0### Minor Changes - 7710d31: Introduced a diff viewer that highlights the changes in audit subjects for update events. This establishes a baseline UX for understanding the changes happening in orgs/projects. In future iterations, some of the changes will be promoted to natural language bullet points under each audit log message. Additionally this change adds a preprocessing step to rename toolset:_ audit events to mcp:_ since "toolsets" are no longer a visible primitive on the dashbMedium3/27/2026
@gram/client@0.32.10# @gram/client ## 0.33.0 ### Minor Changes - 658bef4: Adds new API endpoints for access and permissions management. ## 0.28.5 ### Patch Changes - 7ef727b: Add ability to detach an environment from an MCP server ## 0.28.0 ### Minor Changes - 8c72d8c: Renames attribute_filters to filters in searchLogs, and introduces "in" operator. ### Patch Changes - d8133af: Suite of hooks improvements ## 0.27.20 ### Patch Changes - 1765931: Removes the logs enabled flag in the telemetry Medium3/27/2026
server@0.32.1### Patch Changes - 1295324: Strip tools from toolset audit log snapshots The Tools field on Toolset can be very large. Cloning the before/after snapshots and nilling out Tools avoids serializing this data into audit log entries where it is not needed. Medium3/27/2026
server@0.32.0### Minor Changes - fbb1c43: Introduced faceted search capabilities to the audit logs, allowing users to filter logs based on actor and action attributes. A new endpoint, `GET /rpc/auditlogs.listFacets`, is introduced to retrieve available facets for actors and actions. The existing `GET /rpc/auditlogs.list` endpoint is updated to support filtering by these facets. ### Patch Changes - e97105d: Normalized OpenAPI HTTP auth scheme casing so extraction and stored metadata behave gracefuMedium3/25/2026
dashboard@0.35.0### Minor Changes - c4d9bdd: Introduced a new "Audit Logs" page to the organization dashboard, allowing Gram users to view a history of actions taken within the organization. ### Patch Changes - 3d28f83: Fixes bug with server selection in logs page. Medium3/25/2026
@gram/client@0.32.5# @gram/client ## 0.33.0 ### Minor Changes - 658bef4: Adds new API endpoints for access and permissions management. ## 0.28.5 ### Patch Changes - 7ef727b: Add ability to detach an environment from an MCP server ## 0.28.0 ### Minor Changes - 8c72d8c: Renames attribute_filters to filters in searchLogs, and introduces "in" operator. ### Patch Changes - d8133af: Suite of hooks improvements ## 0.27.20 ### Patch Changes - 1765931: Removes the logs enabled flag in the telemetry Medium3/25/2026
server@0.31.0### Minor Changes - 658bef4: Adds new API endpoints for access and permissions management. ### Patch Changes - 0e5f639: Prevent clobbering API Key Headers when Client Credentials exchange is unconfigured Medium3/25/2026
dashboard@0.34.3### Patch Changes - 68177ef: Upgrade insights copilot to anthropic/claude-sonnet-4.5 and inject current date into system prompt - 544fac2: Revamp login page with Speakeasy brand styling, distributed platform diagram, and updated copy. - Right pane: new copy, Build/Secure/Observe/Distribute badges, off-white background with moving dot pattern, RGB gradient bar, Terms of Service and Privacy Policy links - Left pane: distributed AI agents and product agents view, Control Plane anMedium3/25/2026
@gram/client@0.33.0### Minor Changes - 658bef4: Adds new API endpoints for access and permissions management. Medium3/25/2026
server@0.30.0### Minor Changes - 6265f73: Introduced the audit logs API service and supplementary code to start recording audit logs in other services including new URN types to represent various subjects in Gram. Medium3/24/2026
@gram/client@0.32.1# @gram/client ## 0.28.5 ### Patch Changes - 7ef727b: Add ability to detach an environment from an MCP server ## 0.28.0 ### Minor Changes - 8c72d8c: Renames attribute_filters to filters in searchLogs, and introduces "in" operator. ### Patch Changes - d8133af: Suite of hooks improvements ## 0.27.20 ### Patch Changes - 1765931: Removes the logs enabled flag in the telemetry API responses. - e616da7: Add admin-only cache purging functionality ## 0.27.24 ### Patch Changes - Medium3/24/2026
cli@0.15.8### Patch Changes - 70d8ad3: Fix CLI release signing by switching to cosign v3 bundle format and migrating to ubuntu runner Medium3/24/2026
dashboard@0.34.2### Patch Changes - 045f51a: Replace hardcoded org slugs in MCP URLs for the built in MCP logs server Medium3/24/2026
server@0.29.1### Patch Changes - 41d507c: Fixed `GET /rpc/chat.creditUsage` authentication so org-scoped credit usage works correctly for customers with multiple projects, requiring only session auth and no longer allowing chat-session access. Medium3/22/2026

Dependencies & License Audit

Loading dependencies...

Similar Packages

studioOpen-source control plane for your AI agents. Connect tools, hire agents, track every token and dollarv2.268.2
agentA unified Model Context Protocol server implementation that aggregates multiple MCP servers into one.v0.31.0-beta1
apify-mcp-serverThe Apify MCP server enables your AI agents to extract data from social media, search engines, maps, e-commerce sites, or any other website using thousands of ready-made scrapers, crawlers, and automav0.9.19
mcp-searxngMCP Server for SearXNGv1.0.3
MediaWiki-MCP-ServerModel Context Protocol (MCP) Server to connect your AI with any MediaWikiv0.6.5