Skip to main content

MCP-native Python SDK for 327 AI dev tools — code generation, schemas, Docker, K8s, APIs via Model Context Protocol. Zero dependencies.

Project description

crowvault

Python SDK for CrowVault — MCP-native SDK for 327 AI dev tools — code generation via Model Context Protocol. Zero dependencies.

Install

pip install crowvault

Quick Start

from crowvault import CrowVaultClient

client = CrowVaultClient(api_key="cv_your_key_here")

# Generate a database schema
result = client.call("database-mcp", "design_schema",
                     aggregate="Order", database="postgresql")
print(result.text)

# Generate a Dockerfile
result = client.call("devops-mcp", "generate_dockerfile",
                     runtime="node", version="20")
print(result.text)

Authentication

# Option 1: Pass directly
client = CrowVaultClient(api_key="cv_...")

# Option 2: Environment variable
# export CROWVAULT_API_KEY=cv_...
client = CrowVaultClient()

API Reference

Call a Tool

result = client.call("database-mcp", "design_schema",
                     aggregate="Order",
                     database="postgresql",
                     outputFormat="prisma")

print(result.text)       # Generated code
print(result.success)    # True/False
print(result.meta)       # {server, tool, durationMs, ...}

Call with Dict Args

Use call_raw() when arg names conflict with Python keywords:

result = client.call_raw("api-mcp", "generate_openapi_spec", {
    "service": "users",
    "version": "v1",
    "format": "yaml",   # "format" is a Python builtin
})

List Servers & Tools

# All servers
servers = client.servers()
for s in servers:
    print(f"{s['name']}{s['toolCount']} tools")

# All tools (or filter)
tools = client.tools(server="database-mcp")
tools = client.tools(search="schema")

Batch Execution

Execute up to 10 tools in parallel:

result = client.batch([
    {"server": "database-mcp", "tool": "design_schema",
     "args": {"aggregate": "Order", "database": "postgresql"}},
    {"server": "devops-mcp", "tool": "generate_dockerfile",
     "args": {"runtime": "node", "version": "20"}},
    {"server": "devops-mcp", "tool": "generate_k8s_deployment",
     "args": {"name": "order-service"}},
])

print(f"{result.succeeded}/{len(result.results)} succeeded")
for r in result.results:
    print(r.text[:100])

Workflows

Run multi-step pipelines that chain tools together:

# List available workflows
workflows = client.workflows()
for wf in workflows:
    print(f"{wf['id']}{wf['stepCount']} steps")

# Run a workflow
result = client.run_workflow("microservice-scaffold",
                             name="orders",
                             language="node",
                             database="postgresql")

print(result)  # Step-by-step summary
print(result.success)
print(result.total_duration_ms)

for step in result.results:
    print(f"{step['tool']}{step['durationMs']}ms")

Available workflows:

  • microservice-scaffold — Microservice + schema + migration + Docker + K8s (5 steps)
  • api-full-stack — OpenAPI + endpoint + tests + contracts (4 steps)
  • ddd-complete — Bounded context + model + aggregate + entity + repo + schema (6 steps)
  • event-driven — Kafka + event handler + DLQ (3 steps)
  • deploy-stack — Dockerfile + Compose + K8s + Helm (4 steps)
  • database-setup — Schema + ORM + migration + seed (4 steps)

9 Servers, 327 Tools

Server Tools Coverage
AWS 53 EC2, S3, Lambda, RDS, ECS, CloudFormation, IAM
GCP 41 Compute, GKE, Cloud Run, BigQuery, Pub/Sub
Full Stack 40 Express, NestJS, React, Vue, Next.js, FastAPI
Frontend 36 Components, state, routing, forms, accessibility
Database 34 PostgreSQL, MySQL, MongoDB, Prisma, migrations
Testing 31 Jest, Vitest, Cypress, load tests, mocks
Security 31 Auth, RBAC, encryption, OWASP, scanning
DevOps 31 Docker, K8s, Terraform, Helm, CI/CD, Prometheus
API 30 OpenAPI, GraphQL, gRPC, Kafka, webhooks, OAuth

Error Handling

from crowvault import CrowVaultClient
from crowvault.client import CrowVaultError

client = CrowVaultClient()

try:
    result = client.call("database-mcp", "design_schema",
                         aggregate="Order", database="postgresql")
    print(result.text)
except CrowVaultError as e:
    print(f"Error: {e} (HTTP {e.status})")

Pricing

  • Free: 50 calls/month, 2 API keys — Sign up free
  • Developer: $49/month, 1,000 calls, 5 keys
  • Team: $199/month, 10,000 calls, 10 keys
  • Enterprise: Custom

License

MIT. Copyright TechSynergy Corp.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

crowvault-2.1.1.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

crowvault-2.1.1-py3-none-any.whl (6.4 kB view details)

Uploaded Python 3

File details

Details for the file crowvault-2.1.1.tar.gz.

File metadata

  • Download URL: crowvault-2.1.1.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for crowvault-2.1.1.tar.gz
Algorithm Hash digest
SHA256 f6a23f1f5bae7ebaa28fba22d3d5aa13f96a2407eff7091cd5d4a9de3700f719
MD5 86a41afee212f2b69353676495705002
BLAKE2b-256 e80dfb9db0c3cbb44885195f87dbd60dee24689aad4b89d40817e94c78acc17c

See more details on using hashes here.

File details

Details for the file crowvault-2.1.1-py3-none-any.whl.

File metadata

  • Download URL: crowvault-2.1.1-py3-none-any.whl
  • Upload date:
  • Size: 6.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for crowvault-2.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8a8e76d47aea03addfb6a2658b02cd6f09dc4e03a625933364e6be34a9b5a8d0
MD5 78f3190fcd3b8383f40dbfd488a40e4c
BLAKE2b-256 bb2d0a24a4fed7c186d1e6216fc6c4dcdda4bd6ec14f5b51868453ba9dd48d77

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page