Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
A MCP server that gives AI agents access to SignNow eSignature workflows over STDIO.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"sn": {
"command": "uvx",
"args": [
"signnow-mcp-server"
]
}
}
}在终端中运行这条命令
claude mcp add sn -- uvx signnow-mcp-server粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"sn": {
"command": "uvx",
"args": [
"signnow-mcp-server"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"sn": {
"type": "stdio",
"command": "uvx",
"args": [
"signnow-mcp-server"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 signnow 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.3.1)于10个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Python (uv)。
同一分类中有:Spec Driven Development, Remote Desktop Commander, ProAgentStore
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
MCP-first control plane for ProAgentStore agents and private instances.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
About SignNow API
The SignNow REST API empowers users to deliver a seamless eSignature experience for signers, preparers, and senders. Pre-fill documents, create embedded branded workflows for multiple signers, request payments, and track signature status in real-time. Ensure signing is simple, secure, and intuitive on any device.
What you can do with the SignNow API:
A Model Context Protocol (MCP) server that gives AI agents secure, structured access to SignNow eSignature workflows — templates, embedded signing, invites, status tracking, and document downloads — over STDIO or Streamable HTTP.
mcp-name: io.github.signnow/sn-mcp-server
https://mcp-server.signnow.com/mcp instead of running it locally.If you use uv, you can run the server without installing the package:
uvx --from signnow-mcp-server sn-mcp serve
# Create .env file with your SignNow credentials
# Install the package from PyPI
pip install signnow-mcp-server
sn-mcp serve
# 1) Clone & configure
git clone https://github.com/signnow/sn-mcp-server.git cd sn-mcp-server cp .env.example .env
pip install -e .
sn-mcp serve
STDIO is ideal for desktop clients and local testing.
# Start HTTP server on 127.0.0.1:8000
sn-mcp http
sn-mcp http --host 0.0.0.0 --port 8000
sn-mcp http --reload
By default, the Streamable HTTP MCP endpoint is served under /mcp. Example URL:
http://localhost:8000/mcp
# Build
docker build -t sn-mcp-server .
docker run --env-file .env -p 8000:8000 sn-mcp-server sn-mcp http --host 0.0.0.0 --port 8000
STDIO inside containers is unreliable with many clients. Prefer HTTP when using Docker.
# Only the MCP server
docker-compose up sn-mcp-server
docker-compose up
Copy .env.example → .env and fill in values. All settings are validated via pydantic-settings at startup.
1) API Key / Access Token (simplest)
SIGNNOW_ACCESS_TOKEN=<your_api_key>
SIGNNOW_API_KEY=
2) Username / Password
SIGNNOW_USER_EMAIL=<email>
SIGNNOW_PASSWORD= SIGNNOW_API_BASIC_TOKEN=
3) OAuth 2.0 (for hosted/advanced scenarios)
SIGNNOW_CLIENT_ID=<client_id>
SIGNNOW_CLIENT_SECRET=
When running via some desktop clients, only user/password may be supported.
For multi-tenant / proxy deployments, a wrapping backend can attach the raw SignNow access token per request via a dedicated HTTP header — no env config, and without reusing Authorization (which carries the MCP/OAuth bearer):
X-SignNow-Access-Token: <raw SignNow access_token>
Bearer prefix.SIGNNOW_ACCESS_TOKEN (Option 1) still wins. To use the header as a true per-request credential, do not also set SIGNNOW_ACCESS_TOKEN — otherwise every request collapses to the env token. The header outranks a generic Authorization: Bearer.sn-mcp http). It is not exposed as a tool argument, so the token never enters the model's context or conversation logs. Send over HTTPS.# SignNow endpoints (defaults shown)
SIGNNOW_APP_BASE=https://app.signnow.com SIGNNOW_API_BASE=https://api.signnow.com
OAUTH_ISSUER= ACCESS_TTL=3600 REFRESH_TTL=2592000 ALLOWED_REDIRECTS=
OAUTH_RSA_PRIVATE_PEM= OAUTH_JWK_KID=
If OAUTH_RSA_PRIVATE_PEM is missing in production, a new RSA key will be generated on each restart, invalidating all existing tokens. Always provide a persistent private key via secrets management in prod.
Create .vscode/mcp.json / .cursor/mcp.json in your workspace:
STDIO (local):
{
"servers": { "signnow": { "command": "sn-mcp", "args": ["serve"], "env": { "SIGNNOW_USER_EMAIL": "${env:SIGNNOW_USER_EMAIL}", "SIGNNOW_PASSWORD": "${env:SIGNNOW_PASSWORD}", "SIGNNOW_API_BASIC_TOKEN": "${env:SIGNNOW_API_BASIC_TOKEN}" } } } }
STDIO (uvx — no local install):
{
"servers": { "signnow": { "command": "uvx", "args": ["--from", "signnow-mcp-server", "sn-mcp", "serve"], "env": { "SIGNNOW_USER_EMAIL": "${env:SIGNNOW_USER_EMAIL}", "SIGNNOW_PASSWORD": "${env:SIGNNOW_PASSWORD}", "SIGNNOW_API_BASIC_TOKEN": "${env:SIGNNOW_API_BASIC_TOKEN}" } } } }
HTTP (remote or Docker):
{
"servers": { "signnow": { "type": "http", "url": "http://localhost:8000/mcp" } } }
Then open Chat → Agent mode, enable the signnow tools, and use them in prompts.
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.
Use Desktop Extensions or the manual MCP config (Developer → Edit config).
Steps:
mcpServersExamples:
STDIO (local install):
{
"mcpServers": { "signnow": { "command": "sn-mcp", "args": ["serve"], "env": { "SIGNNOW_USER_EMAIL": "${env:SIGNNOW_USER_EMAIL}", "SIGNNOW_PASSWORD": "${env:SIGNNOW_PASSWORD}", "SIGNNOW_API_BASIC_TOKEN": "${env:SIGNNOW_API_BASIC_TOKEN}" } } } }
STDIO (uvx — no local install):
{
"mcpServers": { "signnow": { "command": "uvx", "args": ["--from", "signnow-mcp-server", "sn-mcp", "serve"], "env": { "SIGNNOW_USER_EMAIL": "${env:SIGNNOW_USER_EMAIL}", "SIGNNOW_PASSWORD": "${env:SIGNNOW_PASSWORD}", "SIGNNOW_API_BASIC_TOKEN": "${env:SIGNNOW_API_BASIC_TOKEN}" } } } }
HTTP (remote or Docker):
{
"mcpServers": { "signnow": { "type": "http", "url": "http://localhost:8000/mcp" } } }
Then enable the server in Claude’s chat and start using the tools.
Deploy and run this server on Glama with minimal setup:
Steps:
SIGNNOW_USER_EMAILSIGNNOW_PASSWORDSIGNNOW_API_BASIC_TOKENhttps://glama.ai/endpoints/{someId}/mcp?token={glama-mcp-token}
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).
Great for exploring tools & schemas visually.
# Start Inspector (opens UI on localhost)
npx @modelcontextprotocol/inspector
sn-mcp serve
You can list tools, call them with JSON args, and inspect responses.
Each tool is described concisely; use an MCP client (e.g., Inspector) to view exact JSON schemas.
limit/offset pagination (default: 50 items per page).send_invite to resolve a recipient's email address by their name. Supports per_page (default 15, max 100).limit/offset pagination (default: 50 items per page).send_invite*只显示了开头部分;其余内容请在仓库中阅读