Skip to content

Commit 16311bf

Browse files
authored
Merge pull request #12 from signnow/feat/docker-build-and-config-oneof
Feat/docker build and config oneof
2 parents 617a707 + 50b58ea commit 16311bf

File tree

1 file changed

+113
-11
lines changed

1 file changed

+113
-11
lines changed

README.md

Lines changed: 113 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,10 @@ The SignNow REST API empowers users to deliver a seamless eSignature experience
2828
* [Features](#features)
2929
* [Quick start](#quick-start)
3030

31-
* [Local (STDIO)](#local-stdio)
31+
* [Prerequisites](#prerequisites)
32+
* [Quick run (uvx)](#quick-run-uvx)
33+
* [1. Setup Environment Variables](#1-setup-environment-variables)
34+
* [2. Install and Run](#2-install-and-run)
3235
* [Local/Remote (HTTP)](#localremote-http)
3336
* [Docker](#docker)
3437
* [Docker Compose](#docker-compose)
@@ -39,9 +42,9 @@ The SignNow REST API empowers users to deliver a seamless eSignature experience
3942
* [Production key management](#production-key-management)
4043
* [Client setup](#client-setup)
4144

42-
* [VS Code — GitHub Copilot (Agent Mode)](#vs-code--github-copilot-agent-mode)
45+
* [VS Code — GitHub Copilot (Agent Mode) / Cursor](#vs-code--github-copilot-agent-mode--cursor)
4346
* [Claude Desktop](#claude-desktop)
44-
* [Cursor](#cursor)
47+
* [Glama (hosted MCP)](#glama-hosted-mcp)
4548
* [MCP Inspector (testing)](#mcp-inspector-testing)
4649
* [Tools](#tools)
4750
* [FAQ / tips](#faq--tips)
@@ -84,6 +87,14 @@ The SignNow REST API empowers users to deliver a seamless eSignature experience
8487
- Python 3.11+ installed on your system
8588
- Environment variables configured
8689

90+
### Quick run (uvx)
91+
92+
If you use `uv`, you can run the server without installing the package:
93+
94+
```bash
95+
uvx --from signnow-mcp-server sn-mcp serve
96+
```
97+
8798
### 1. Setup Environment Variables
8899

89100
```bash
@@ -218,9 +229,9 @@ If `OAUTH_RSA_PRIVATE_PEM` is missing in production, a new RSA key will be gener
218229

219230
## Client setup
220231

221-
### VS Code — GitHub Copilot (Agent Mode)
232+
### VS Code — GitHub Copilot (Agent Mode) / Cursor
222233

223-
Create `.vscode/mcp.json` in your workspace:
234+
Create `.vscode/mcp.json` / `.cursor/mcp.json` in your workspace:
224235

225236
**STDIO (local):**
226237

@@ -240,6 +251,24 @@ Create `.vscode/mcp.json` in your workspace:
240251
}
241252
```
242253

254+
**STDIO (uvx — no local install):**
255+
256+
```json
257+
{
258+
"servers": {
259+
"signnow": {
260+
"command": "uvx",
261+
"args": ["--from", "signnow-mcp-server", "sn-mcp", "serve"],
262+
"env": {
263+
"SIGNNOW_USER_EMAIL": "${env:SIGNNOW_USER_EMAIL}",
264+
"SIGNNOW_PASSWORD": "${env:SIGNNOW_PASSWORD}",
265+
"SIGNNOW_API_BASIC_TOKEN": "${env:SIGNNOW_API_BASIC_TOKEN}"
266+
}
267+
}
268+
}
269+
}
270+
```
271+
243272
**HTTP (remote or Docker):**
244273

245274
```json
@@ -255,18 +284,91 @@ Create `.vscode/mcp.json` in your workspace:
255284

256285
Then open Chat → **Agent mode**, enable the **signnow** tools, and use them in prompts.
257286

287+
Note: The same configuration applies in Cursor — add it under MCP settings (STDIO or HTTP). For STDIO, you can also use `uvx` as shown above.
288+
258289
### Claude Desktop
259290

260-
Use Desktop Extensions or the manual MCP config (Developer → Edit config) to add either:
291+
Use Desktop Extensions or the manual MCP config (Developer → Edit config).
292+
293+
Steps:
294+
295+
1. Open Claude Desktop → Developer → Edit config
296+
2. Add a new server entry under `mcpServers`
297+
3. Save and restart Claude Desktop
261298

262-
* **STDIO** command: `sn-mcp serve`
263-
* **HTTP** endpoint: `http://localhost:8000/mcp`
299+
Examples:
264300

265-
Follow Claude’s MCP guide for exact steps and secure secret handling.
301+
**STDIO (local install):**
266302

267-
### Cursor
303+
```json
304+
{
305+
"mcpServers": {
306+
"signnow": {
307+
"command": "sn-mcp",
308+
"args": ["serve"],
309+
"env": {
310+
"SIGNNOW_USER_EMAIL": "${env:SIGNNOW_USER_EMAIL}",
311+
"SIGNNOW_PASSWORD": "${env:SIGNNOW_PASSWORD}",
312+
"SIGNNOW_API_BASIC_TOKEN": "${env:SIGNNOW_API_BASIC_TOKEN}"
313+
}
314+
}
315+
}
316+
}
317+
```
318+
319+
**STDIO (uvx — no local install):**
320+
321+
```json
322+
{
323+
"mcpServers": {
324+
"signnow": {
325+
"command": "uvx",
326+
"args": ["--from", "signnow-mcp-server", "sn-mcp", "serve"],
327+
"env": {
328+
"SIGNNOW_USER_EMAIL": "${env:SIGNNOW_USER_EMAIL}",
329+
"SIGNNOW_PASSWORD": "${env:SIGNNOW_PASSWORD}",
330+
"SIGNNOW_API_BASIC_TOKEN": "${env:SIGNNOW_API_BASIC_TOKEN}"
331+
}
332+
}
333+
}
334+
}
335+
```
336+
337+
**HTTP (remote or Docker):**
338+
339+
```json
340+
{
341+
"mcpServers": {
342+
"signnow": {
343+
"type": "http",
344+
"url": "http://localhost:8000/mcp"
345+
}
346+
}
347+
}
348+
```
349+
350+
Then enable the server in Claude’s chat and start using the tools.
351+
352+
### Glama (hosted MCP)
353+
354+
Deploy and run this server on Glama with minimal setup:
355+
356+
Steps:
357+
358+
1. Open the server page on Glama: [sn-mcp-server on Glama](https://glama.ai/mcp/servers/@mihasicehcek/sn-mcp-server)
359+
2. Click the red "Deploy Server" button
360+
3. In environment variables, provide:
361+
- `SIGNNOW_USER_EMAIL`
362+
- `SIGNNOW_PASSWORD`
363+
- `SIGNNOW_API_BASIC_TOKEN`
364+
- (other variables can be left as defaults)
365+
4. Create an access token in Glama and copy the endpoint URL. It will look like:
366+
367+
```
368+
https://glama.ai/endpoints/{someId}/mcp?token={glama-mcp-token}
369+
```
268370

269-
Add the server in Cursor’s MCP settings using either **STDIO** (`sn-mcp serve`) or the **HTTP URL** (`http://localhost:8000/mcp`).
371+
Use this HTTP MCP URL in any client that supports HTTP transport (e.g., VS Code/Cursor JSON config or Claude Desktop HTTP example above).
270372

271373
### MCP Inspector (testing)
272374

0 commit comments

Comments
 (0)