Skip to main content

llama-index-tools-signnow

A plug‑and‑play ToolSpec that lets LlamaIndex agents use SignNow e‑signature workflows through the SignNow MCP server. It discovers the server’s tools, exposes them to your agent, and keeps setup simple for users who already work with LlamaIndex.


✨ What you get

  • One‑liner tool discovery for the SignNow MCP server (STDIO spawn by default).
  • Works with any LlamaIndex agent that supports function/tools.
  • Covers common e‑signature flows end‑to‑end (templates, invites, embedded signing/sending/editor, status, downloads).
  • Environment‑first configuration (no code changes required for typical deployments).

Installation

# Core LlamaIndex + MCP client + SignNow ToolSpec
pip install -U llama-index llama-index-tools-mcp llama-index-tools-signnow

Quick start

import asyncio
from llama_index.tools.signnow import SignNowMCPToolSpec
from llama_index.core.agent.workflow import FunctionAgent
from llama_index.llms.openai import (
    OpenAI,
)  # or any LLM that supports tool/function calling


async def main():
    # Option A: pass credentials directly (no .env needed)
    spec = SignNowMCPToolSpec.from_env(
        env_overrides={
            # Option 1: token-based auth
            # "SIGNNOW_TOKEN": "your_signnow_token_here",
            # Option 2: credential-based auth
            "SIGNNOW_USER_EMAIL": "login@example.com",
            "SIGNNOW_PASSWORD": "password",
            "SIGNNOW_API_BASIC_TOKEN": "basic_token_base64",
        }
    )

    # Fetch tools from the MCP server
    tools = await spec.to_tool_list_async()
    print({"count": len(tools), "names": [t.metadata.name for t in tools]})

    # Wire them into a LlamaIndex agent
    agent = FunctionAgent(
        name="SignNow Agent",
        description="Query SignNow via MCP tools",
        tools=tools,
        llm=OpenAI(model="gpt-4o"),  # make sure your LLM supports tools
        system_prompt="Be helpful.",
    )

    # Ask for something useful
    resp = await agent.run("Show me the list of templates and their names.")
    print(resp)


if __name__ == "__main__":
    asyncio.run(main())

Prompt ideas

  • “Create a document from the template ‘NDA v3’ and generate an embedded signing link for alice@example.com”
  • “Send an invite to bob@example.com for document XYZ with signer order Alice first, Bob second.”
  • “What’s the current invite status for document ABC?”
  • “Give me a direct download link for the completed document (merged if it’s a group).”

Available tools (provided by the SignNow MCP server)

  • list_all_templates — List templates & template groups with simplified metadata.
  • list_document_groups — Browse your document groups and statuses.
  • create_from_template — Make a document or a group from a template/group.
  • send_invite — Email invites (documents or groups), ordered recipients supported.
  • create_embedded_invite — Embedded signing session without email delivery.
  • create_embedded_sending — Embedded “sending/management” experience.
  • create_embedded_editor — Embedded editor link to place/adjust fields.
  • send_invite_from_template — One‑shot: create from template and invite.
  • create_embedded_sending_from_template — One‑shot: template → embedded sending.
  • create_embedded_editor_from_template — One‑shot: template → embedded editor.
  • create_embedded_invite_from_template — One‑shot: template → embedded signing.
  • get_invite_status — Current invite status/steps for document or group.
  • get_document_download_link — Direct download link (merged output for groups).
  • get_document — Normalized document/group structure with field values.
  • update_document_fields — Prefill text fields in individual documents.

Tip: A common flow is listall_templates → create_from_template → one‑shot or send_invite / create_embedded* → get_invite_status → get_document_download_link.


Configuration

The ToolSpec reads standard SignNow environment variables and forwards them to the server when spawning sn-mcp

Auth options

# Username / Password (recommended for desktop dev flows)
SIGNNOW_USER_EMAIL=you@example.com
SIGNNOW_PASSWORD=********
SIGNNOW_API_BASIC_TOKEN=base64(app_id:app_secret)  # SignNow Basic token

# or a direct API token
SIGNNOW_TOKEN=eyJhbGciOi...

How it works (under the hood)

SignNowMCPToolSpec wraps the generic MCP client from llama-index-tools-mcp. On from_env(...) it spawns the sn-mcp server (STDIO) with your environment and converts the advertised MCP tools into LlamaIndex FunctionTools for your agent to call.

Metadata

Release files for llama-index-tools-signnow 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for llama-index-tools-signnow 0.2.0
File Size Uploaded Provenance
llama_index_tools_signnow-0.2.0.tar.gz 6.0 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for llama-index-tools-signnow 0.2.0
File Interpreter ABI Platform
llama_index_tools_signnow-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 12.3 kB

Release files / llama_index_tools_signnow-0.2.0.tar.gz

Download URL llama_index_tools_signnow-0.2.0.tar.gz
Size 6.0 kB
Tags Source
SHA-256 checksum
How to use checksums
231c122f6b62e8d7de300390562ad24a872eda5fadf55adbd9f0e7195c6a15dd
BLAKE2b-256 checksum
How to use checksums
7f87dda88b39d427952505cb3477ee43d6a16e874987ef099414bdeee67e0adc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / llama_index_tools_signnow-0.2.0-py3-none-any.whl

Download URL llama_index_tools_signnow-0.2.0-py3-none-any.whl
Size 6.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1e8402d818776a1dac7128b1be4a5d29e6bd51053cfaf7e584f2f980df5eadff
BLAKE2b-256 checksum
How to use checksums
55a6cc08b421458fe92d7d95758a8a699a081115daae7969250ace85d515064e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for llama-index-tools-signnow 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page