mcpmake 0.2.0 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +144 -0
- package/package.json +2 -2
package/README.md
ADDED
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
# mcpmake
|
|
2
|
+
|
|
3
|
+
**Turn any API into an MCP server an AI agent can actually use — in one command.**
|
|
4
|
+
|
|
5
|
+
`mcpmake` reads what you already have — an OpenAPI spec, a Postman collection, a
|
|
6
|
+
HAR capture, a live URL, a whole website, or just a plain-English description —
|
|
7
|
+
and generates a clean, typed, editable [Model Context Protocol](https://modelcontextprotocol.io)
|
|
8
|
+
server. No boilerplate, no SDK lock-in.
|
|
9
|
+
|
|
10
|
+
[](https://www.npmjs.com/package/mcpmake)
|
|
11
|
+
[](https://www.apache.org/licenses/LICENSE-2.0)
|
|
12
|
+
[](https://nodejs.org)
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Six ways in
|
|
17
|
+
|
|
18
|
+
| Input | Command |
|
|
19
|
+
|-------|---------|
|
|
20
|
+
| OpenAPI / Swagger spec | `mcpmake from openapi ./spec.yaml -o ./server` |
|
|
21
|
+
| Postman collection | `mcpmake from postman ./collection.json -o ./server` |
|
|
22
|
+
| HAR capture (recorded traffic) | `mcpmake from har ./session.har -o ./server` |
|
|
23
|
+
| A live URL (record it for you) | `mcpmake from url https://api.example.com -o ./server` |
|
|
24
|
+
| A whole website (browser tools) | `mcpmake from website https://example.com -o ./server` |
|
|
25
|
+
| A plain-English description | `mcpmake from describe "a todo API with auth" -o ./server` |
|
|
26
|
+
|
|
27
|
+
Every path produces the same thing: an MCP server **you own**.
|
|
28
|
+
|
|
29
|
+
## Quickstart
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
npx mcpmake from openapi ./spec.yaml -o ./server
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Then point your MCP client (Claude Desktop, Cursor, your own agent, …) at the
|
|
36
|
+
generated server. That's it.
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
cd server
|
|
40
|
+
npm install
|
|
41
|
+
npm start
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## You own the output
|
|
45
|
+
|
|
46
|
+
`mcpmake` is licensed under **Apache-2.0**, and so is the code it produces — but
|
|
47
|
+
your generated server has **no runtime dependency on mcpmake and no license
|
|
48
|
+
strings attached**. Edit it, host it, ship it, sell it. There is no lock-in: the
|
|
49
|
+
output is plain TypeScript (or Python, or a Cloudflare Worker) that you control.
|
|
50
|
+
|
|
51
|
+
## Don't want to host it yourself?
|
|
52
|
+
|
|
53
|
+
Generating the server is the easy part. Running it in production — with auth,
|
|
54
|
+
metering, rate limits, and quotas — is where the work is.
|
|
55
|
+
|
|
56
|
+
**Deploy and host your MCP server with auth, metering, and quotas at
|
|
57
|
+
[mcpmake.dev](https://mcpmake.dev).** Sign up, push, and get a managed endpoint:
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
mcpmake deploy ./server
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Keep it in sync (CI)
|
|
64
|
+
|
|
65
|
+
APIs drift. When your spec changes, your MCP server should regenerate itself.
|
|
66
|
+
Wire it into CI in one step:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
mcpmake ci init
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
This scaffolds a GitHub Actions workflow that re-generates your server on every
|
|
73
|
+
spec change. Pair it with managed [spec-sync on mcpmake.dev](https://mcpmake.dev)
|
|
74
|
+
to keep a hosted server continuously up to date.
|
|
75
|
+
|
|
76
|
+
## Migrating off Stainless?
|
|
77
|
+
|
|
78
|
+
`mcpmake` reads the **same OpenAPI spec** your Stainless SDK is built from — you
|
|
79
|
+
are one command away from an MCP server:
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
mcpmake from stainless ./stainless.yml -o ./server
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
See the migration guide at **[mcpmake.dev](https://mcpmake.dev)**.
|
|
86
|
+
|
|
87
|
+
## Publish to a registry
|
|
88
|
+
|
|
89
|
+
Generated servers can be published to the MCP ecosystem — mcp.so, Smithery,
|
|
90
|
+
Glama, and the official registry:
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
mcpmake publish ./server
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## All commands
|
|
97
|
+
|
|
98
|
+
```text
|
|
99
|
+
$ mcpmake --help
|
|
100
|
+
|
|
101
|
+
mcpmake — Generate MCP servers from API specifications
|
|
102
|
+
|
|
103
|
+
COMMANDS
|
|
104
|
+
from openapi Generate from an OpenAPI / Swagger spec
|
|
105
|
+
from postman Generate from a Postman collection
|
|
106
|
+
from har Generate from a HAR capture
|
|
107
|
+
from url Record a live URL and generate from the captured traffic
|
|
108
|
+
from website Crawl a website and generate browser-driven tools
|
|
109
|
+
from describe Generate from a plain-English description
|
|
110
|
+
from stainless Generate from a Stainless config (migration)
|
|
111
|
+
merge Merge multiple specs into one server
|
|
112
|
+
verify Verify a generated server against its source spec
|
|
113
|
+
update Re-generate a server from an updated spec
|
|
114
|
+
diff Show what would change before regenerating
|
|
115
|
+
lint Lint a spec for MCP-generation issues
|
|
116
|
+
bundle Bundle a server into a distributable .mcpb
|
|
117
|
+
publish Publish a server to MCP registries
|
|
118
|
+
ci Scaffold CI (spec-sync) — `mcpmake ci init`
|
|
119
|
+
rescan Re-scan a website server and heal broken selectors
|
|
120
|
+
deploy Deploy a server to managed hosting (mcpmake.dev)
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
Run `mcpmake <command> --help` for command-specific flags (targets, transports,
|
|
124
|
+
filtering, Python / Cloudflare Workers output, and more).
|
|
125
|
+
|
|
126
|
+
## Built on `@mcpmake/core`
|
|
127
|
+
|
|
128
|
+
The CLI is a thin wrapper around
|
|
129
|
+
[`@mcpmake/core`](https://www.npmjs.com/package/@mcpmake/core) — the shared
|
|
130
|
+
generation library (parsers, transformers, emitters, templates). Use it directly
|
|
131
|
+
to build your own tooling.
|
|
132
|
+
|
|
133
|
+
## Requirements
|
|
134
|
+
|
|
135
|
+
- Node.js **>= 20**
|
|
136
|
+
|
|
137
|
+
## License
|
|
138
|
+
|
|
139
|
+
[Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0). The servers you
|
|
140
|
+
generate are yours.
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
Built by the [mcpmake](https://mcpmake.dev) team · [Docs](https://mcpmake.dev) · [Hosting](https://mcpmake.dev)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mcpmake",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"description": "Generate MCP servers from OpenAPI, HAR, Postman, a URL, a website, or a plain-English description.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"test": "vitest run"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@mcpmake/core": "^0.2.
|
|
38
|
+
"@mcpmake/core": "^0.2.2",
|
|
39
39
|
"citty": "^0.1.6",
|
|
40
40
|
"openapi-types": "^12.1.3",
|
|
41
41
|
"playwright": "^1.59.1",
|