About TypeSpec MCP Server and Emitter
TypeSpec MCP Server is a set of packages for building MCP servers with TypeSpec, including an MCP server, a TypeSpec library and code emitters. It is for developers writing MCP extensions, and the project is in public preview with APIs that may change before general availability.
Key features
- 01MCP server that assists with TypeSpec authoring
- 02typespec-mcp library with decorators such as @tool
- 03Emitter that generates JavaScript MCP server code
- 04Emitter that generates JavaScript code calling REST APIs
Use cases
- 01Generating an MCP server from a TypeSpec description
- 02Scaffolding a TypeSpec project from VS Code agent mode
MCP support
The project is itself an MCP server that exposes learnTypeSpec, init, compile and build tools to MCP clients. Its TypeSpec library and emitters generate code for new MCP servers.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMETypeSpec MCP Server and Emitter
The TypeSpec MCP Server implements the MCP specification to enable you to quickly build out your own MCP servers powered by TypeSpec. We will also enable you to build REST APIs and other protocols supported by TypeSpec, though this is work in progress.
Please note that this project is in Public Preview and implementation may significantly change prior to our General Availability.
Overview
What packages are in this repository?
Currently this repo contains the following packages:
- mcp-server-typespec - an MCP server which assists in developing MCP extensions using TypeSpec.
- typespec-mcp - a TypeSpec library for describing MCP servers, for example the
@tooldecorator. - typespec-mcp-server-js - A TypeSpec emitter that generates a server implementation in JavaScript for an MCP tool.
- typespec-mcp-http-server-js - A TypeSpec emitter that generates a server implementation in JavaScript for calling a remote REST API.
Currently Supported Tools
The TypeSpec MCP Server provides the following tools:
learnTypeSpec- Initializes the model with information about how to understand and write TypeSpec.init- Scaffolds out a new project in the current working directory with example tool implementation.compile- Runs tsp compile to generate emitter assetsbuild- Executesnpm run buildin the current project.
Getting Started
The TypeSpec MCP Server requires Node.js to install and run the server. If you don't have it installed, follow the instructions here.
VS Code + GitHub Copilot
The TypeSpec MCP Server provides assistance with authoring TypeSpec to generate MCP resource implementations. It can be used alone or with the TypeSpec VS Code extension in VS Code.
Prerequisites
- Install either the stable or Insiders release of VS Code:
- Install the GitHub Copilot and GitHub Copilot Chat extensions
- Install Node.js 20 or later
- Ensure
nodeandnpmare in your path
- Ensure
- Open VS Code in an empty folder
Installation
One-Click Install
Click one of these buttons to install the TypeSpec MCP Server for VS Code or VS Code Insiders.
Once you've installed the TypeSpec MCP Server, make sure you select GitHub Copilot Agent Mode and refresh the tools list. To learn more about Agent Mode, visit the VS Code Documentation.
Manual Install
For a step-by-step installation, follow these instructions:
- Add
.vscode/mcp.json:
{
"servers": {
"TypeSpec MCP Server": {
"command": "npx",
"args": ["-y", "mcp-server-typespec@latest"]
}
}
}
Test the TypeSpec MCP Server
- Open GitHub Copilot in VS Code and switch to Agent mode
- You should see the TypeCpec MCP Server in the list of tools
- Try a prompt that tells the agent to use a TypeSpec MCP Server, such as "init" to scaffold a new project.
Troubleshooting
See Troubleshooting guide for help with common issues and logging.
Contributing
We welcome contributions to the TypeSpec MCP Server! Whether you're fixing bugs, adding new features, or improving documentation, your contributions are welcome.
Please read our Contributing Guide for more information on how to contribute.
Code of Conduct
This project has adopted the Microsoft Open Source Code of Conduct. For more information, see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.