speakeasy-api

speakeasy

Built by speakeasy-api 399 stars

What is speakeasy?

Build APIs your users love ❤️ with Speakeasy. ✨ Polished and type-safe SDKs. 🌐 Terraform providers, MCP servers, CLIs and Contract Tests for your API. OpenAPI native.

How to use speakeasy?

1. Install a compatible MCP client (like Claude Desktop). 2. Open your configuration settings. 3. Add speakeasy using the following command: npx @modelcontextprotocol/speakeasy 4. Restart the client and verify the new tools are active.
🛡️ Scoped (Restricted)
npx @modelcontextprotocol/speakeasy --scope restricted
🔓 Unrestricted Access
npx @modelcontextprotocol/speakeasy

Key Features

Native MCP Protocol Support
Real-time Tool Activation & Execution
Verified High-performance Implementation
Secure Resource & Context Handling

Optimized Use Cases

Extending AI models with custom local capabilities
Automating system workflows via natural language
Connecting external data sources to LLM context windows

speakeasy FAQ

Q

Is speakeasy safe?

Yes, speakeasy follows the standardized Model Context Protocol security patterns and only executes tools with explicit user-granted permissions.

Q

Is speakeasy up to date?

speakeasy is currently active in the registry with 399 stars on GitHub, indicating its reliability and community support.

Q

Are there any limits for speakeasy?

Usage limits depend on the specific implementation of the MCP server and your system resources. Refer to the official documentation below for technical details.

Official Documentation

View on GitHub
<div align="center"> <a href="https://www.speakeasy.com/" target="_blank"> <img width="1500" height="500" alt="Speakeasy" src="https://github.com/user-attachments/assets/0e56055b-02a3-4476-9130-4be299e5a39c" /> </a> <br /> <br /> <div> <a href="https://speakeasy.com/docs/create-client-sdks/" target="_blank"><b>Docs Quickstart</b></a>&nbsp;&nbsp;//&nbsp;&nbsp;<a href="https://go.speakeasy.com/slack" target="_blank"><b>Join us on Slack</b></a> </div> <br /> <br />

LW24 participant

</div> <hr /> <br /> <div align="left"> <h4><b>Trusted By:</b></h4> <h4> <p> <a href="https://github.com/mistralai/client-python" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://github.com/user-attachments/assets/bca19603-0a18-4425-8d0e-aabc81849e74"> <source media="(prefers-color-scheme: dark)" srcset="https://github.com/user-attachments/assets/a5cde465-8be4-4865-b1d3-03222cdea0a1"> <img height="44px" src="https://github.com/user-attachments/assets/bca19603-0a18-4425-8d0e-aabc81849e74#gh-light-mode-only" alt="Mistral"> </picture> </a> &nbsp; &nbsp; &nbsp; &nbsp; <a href="https://github.com/vercel/sdk" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://github.com/user-attachments/assets/9f499468-d679-43d6-9a4c-bb6d8391ebeb"> <source media="(prefers-color-scheme: dark)" srcset="https://github.com/user-attachments/assets/7d1b97ed-22d8-4dff-bac5-66fe5dead2fe"> <img height="44px" src="https://github.com/user-attachments/assets/9f499468-d679-43d6-9a4c-bb6d8391ebeb#gh-light-mode-only" alt="Vercel"> </picture> </a> &nbsp; &nbsp; &nbsp; &nbsp; <a href="https://github.com/gleanwork/api-client-python" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://github.com/user-attachments/assets/79db6f55-7061-41c5-9ba0-dd66eed86743"> <source media="(prefers-color-scheme: dark)" srcset="https://github.com/user-attachments/assets/a0f0852f-a491-450b-9183-94ad6f77da3c"> <img height="44px" src="https://github.com/user-attachments/assets/79db6f55-7061-41c5-9ba0-dd66eed86743#gh-light-mode-only" alt="Glean"> </picture> </a> &nbsp; &nbsp; &nbsp; &nbsp; <a href="https://github.com/clerk/clerk-sdk-python" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://github.com/user-attachments/assets/cc42df48-e54a-4c2b-bb54-83033a806e38"> <source media="(prefers-color-scheme: dark)" srcset="https://github.com/user-attachments/assets/dc4ee90f-7a48-4d7c-abe0-fd347addf785"> <img height="44px" src="https://github.com/user-attachments/assets/cc42df48-e54a-4c2b-bb54-83033a806e38#gh-light-mode-only" alt="Clerk"> </picture> </a> &nbsp; &nbsp; &nbsp; &nbsp; <a href="https://github.com/OpenRouterTeam/typescript-sdk" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://github.com/user-attachments/assets/d7db99df-7882-481f-93e2-50e7acf51b92"> <source media="(prefers-color-scheme: dark)" srcset="https://github.com/user-attachments/assets/1b63bec3-bd07-41d2-97c7-70e9f3bb1fb5"> <img height="44px" src="https://github.com/user-attachments/assets/d7db99df-7882-481f-93e2-50e7acf51b92#gh-light-mode-only" alt="OpenRouter"> </picture> </a> </p> <a href="https://speakeasy.com/customers"><p> Full showcase → </p></a> </h4> </div> <br />

A Modern OpenAPI Native Toolchain

<p>Polished and type-safe SDKs, Terraform providers and Contract Tests for your API. 10 Languages and counting.</p> <a href="https://app.speakeasy.com/"><img src="https://custom-icon-badges.demolab.com/badge/-Start%20Generating%20-000?style=for-the-badge&logoColor=fffff&logo=speakeasy-api&labelColor=545454" alt="Start Generating"/></a> <a href="https://youtu.be/-cSZGUvT5-8?si=VwJBPcOGq0g2R4cI"><img src="https://img.shields.io/static/v1?label=Docs&message=Watch%20Demo&color=000&style=for-the-badge" alt="Watch Demo" /></a> <div align="left"> <h1> <p> <a href="https://www.speakeasy.com/docs/sdk-design/typescript/methodology-ts" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://github.com/user-attachments/assets/72392c17-5a6d-4aad-a0e2-b411fc5c733e"> <source media="(prefers-color-scheme: dark)" srcset="https://github.com/user-attachments/assets/92990464-eea5-446f-9084-39fc5172e9c2"> <img width="70px" src="https://github.com/user-attachments/assets/72392c17-5a6d-4aad-a0e2-b411fc5c733e#gh-light-mode-only" alt="TypeScript"> </picture> </a> &nbsp; <a href="https://www.speakeasy.com/docs/sdk-design/python/methodology-python" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://github.com/user-attachments/assets/51b6860a-ebba-4fa2-8445-95bde33dea7e"> <source media="(prefers-color-scheme: dark)" srcset="https://github.com/user-attachments/assets/f9c02d4c-874d-4d4f-b9e7-b8add4447e14"> <img width="70px" src="https://github.com/user-attachments/assets/51b6860a-ebba-4fa2-8445-95bde33dea7e#gh-light-mode-only" alt="Python"> </picture> </a> &nbsp; <a href="https://www.speakeasy.com/docs/sdk-design/golang/methodology-go" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://github.com/user-attachments/assets/551a1f03-2ffa-4aa4-b738-966a66967a85"> <source media="(prefers-color-scheme: dark)" srcset="https://github.com/user-attachments/assets/fea1f0e8-8876-4246-98f0-ea07aef26f7a"> <img width="70px" src="https://github.com/user-attachments/assets/551a1f03-2ffa-4aa4-b738-966a66967a85#gh-light-mode-only" alt="Golang"> </picture> </a> &nbsp; <a href="https://www.speakeasy.com/docs/create-terraform" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://github.com/user-attachments/assets/21f87545-2b49-491b-8239-4513d27f254a"> <source media="(prefers-color-scheme: dark)" srcset="https://github.com/user-attachments/assets/e63b652b-ce02-47f6-aa9d-b8fb2ff52f9c"> <img width="70px" src="https://github.com/user-attachments/assets/21f87545-2b49-491b-8239-4513d27f254a#gh-light-mode-only" alt="Terraform"> </picture> </a> &nbsp; <a href="https://www.speakeasy.com/docs/sdk-design/java/methodology-java" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://github.com/user-attachments/assets/f14e0e61-df8b-45fb-8634-c7f7a327d24b"> <source media="(prefers-color-scheme: dark)" srcset="https://github.com/user-attachments/assets/663376a1-530e-4466-93c0-d6d81106a650"> <img width="70px" src="https://github.com/user-attachments/assets/f14e0e61-df8b-45fb-8634-c7f7a327d24b#gh-light-mode-only" alt="Java"> </picture> </a> &nbsp; <a href="https://www.speakeasy.com/docs/sdk-design/csharp/methodology-csharp" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://github.com/user-attachments/assets/0d9aec55-502b-491f-b6ca-5432917e26e0"> <source media="(prefers-color-scheme: dark)" srcset="https://github.com/user-attachments/assets/915d6c9c-8f26-492c-92ef-a485064254d9"> <img width="70px" src="https://github.com/user-attachments/assets/0d9aec55-502b-491f-b6ca-5432917e26e0#gh-light-mode-only" alt="Csharp"> </picture> </a> &nbsp; <a href="https://www.speakeasy.com/docs/sdk-design/php/methodology-php" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://github.com/user-attachments/assets/b0e1b486-de15-488c-b367-ce1c8c4bdf36"> <source media="(prefers-color-scheme: dark)" srcset="https://github.com/user-attachments/assets/dfe55b2c-aaa4-42b0-9b13-592c5964fd5f"> <img width="70px" src="https://github.com/user-attachments/assets/b0e1b486-de15-488c-b367-ce1c8c4bdf36#gh-light-mode-only" alt="PHP"> </picture> </a> &nbsp; <a href="https://www.speakeasy.com/docs/sdk-design/ruby/methodology-ruby" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://github.com/user-attachments/assets/87f12e15-e61d-40c4-8690-ccd2dd12268f"> <source media="(prefers-color-scheme: dark)" srcset="https://github.com/user-attachments/assets/2206de37-79c7-4f70-947d-7c5c41337edb"> <img width="70px" src="https://github.com/user-attachments/assets/87f12e15-e61d-40c4-8690-ccd2dd12268f#gh-light-mode-only" alt="Ruby"> </picture> </a> &nbsp; <a href="https://www.speakeasy.com/docs/languages/unity/methodology-unity" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://github.com/user-attachments/assets/1966f876-1ca3-44d7-92c7-c2830e8a32e8"> <source media="(prefers-color-scheme: dark)" srcset="https://github.com/user-attachments/assets/445b5109-1d32-4253-a9f4-fa720da5a490"> <img width="70px" src="https://github.com/user-attachments/assets/1966f876-1ca3-44d7-92c7-c2830e8a32e8#gh-light-mode-only" alt="Unity"> </picture> </a> </p> </h1> </div> <br/> <h2> <p>How it works</p> <picture> <source media="(prefers-color-scheme: light)" srcset="https://github.com/user-attachments/assets/41f1f1f2-2bf8-4505-83f2-aa4746a0bf95"> <source media="(prefers-color-scheme: dark)" srcset="https://github.com/user-attachments/assets/18978133-c8b5-46c3-95e4-b68c321f8ae4"> <img src="https://github.com/user-attachments/assets/41f1f1f2-2bf8-4505-83f2-aa4746a0bf95#gh-light-mode-only" alt="How it works diagram"> </picture> </a> </h2> <br />

Features

  • SDK code that looks like you wrote it. Optimised for performance, debuggability and modern idiomatics.
  • Complete Terraform Providers built on a Type-safe Go SDK.
  • Contract Test generation with a pre built mock-server (Powered by Arazzo)
  • Generate clean code-samples for syncing with API docs.
  • Make npm install your-api. Manage versioning and publishing to package managers
  • Modern OpenAPI 3.X toolchain for linting, cleaning, diff-ing and editing specs. (Powered by Overlays)

Check out the roadmap for whats coming up soon! <br /> <br />

CLI

Installation

Install Speakeasy CLI via:

  • Homebrew
  • Winget
  • Chocolatey
  • Shell Script / GitHub Actions
  • Docker

Refer to the Speakeasy CLI installation documentation for more information. CLI releases are also directly available in the repository releases.

Usage

Refer to the Speakeasy CLI Reference for usage documentation. Additionally, every CLI command and subcommand supports a --help flag for usage information.

Agent Skills

Use Speakeasy with AI coding agents via our Agent Skills package.

Installation

npx skills add speakeasy-api/agent-skills

Supported Platforms

Usage

Once installed, skills are available with the speakeasy: namespace:

/speakeasy:start-new-sdk-project     # Initialize a new SDK project
/speakeasy:validate-openapi-spec     # Validate an OpenAPI spec
/speakeasy:regenerate-sdk            # Re-run SDK generation

See the agent-skills repository for the full list of available skills.

Global Ranking

-
Trust ScoreMCPHub Index

Based on codebase health & activity.

Manual Config

{ "mcpServers": { "speakeasy": { "command": "npx", "args": ["speakeasy"] } } }