Vignetim OpenAI MCP

Connect the Vignetim Partner API to Cursor, Windsurf, Continue, OpenAI Agents SDK, and any platform supporting the Model Context Protocol.

Quick Setup

Cursor

Open Cursor Settings β†’ MCP β†’ Add new MCP server:

json
{
	"mcpServers": {
		"vignetim": {
			"url": "https://vignetim.com/api/mcp",
			"headers": {
				"X-API-Key": "YOUR_API_KEY",
				"X-API-Secret": "YOUR_API_SECRET"
			}
		}
	}
}

Windsurf

Add to your Windsurf MCP configuration:

json
{
	"mcpServers": {
		"vignetim": {
			"serverUrl": "https://vignetim.com/api/mcp",
			"headers": {
				"X-API-Key": "YOUR_API_KEY",
				"X-API-Secret": "YOUR_API_SECRET"
			}
		}
	}
}

Continue (VS Code)

Add to .continue/config.json:

json
{
	"mcpServers": [
		{
			"name": "vignetim",
			"url": "https://vignetim.com/api/mcp",
			"headers": {
				"X-API-Key": "YOUR_API_KEY",
				"X-API-Secret": "YOUR_API_SECRET"
			}
		}
	]
}

OpenAI Agents SDK (Python)

python
from openai_agents import Agent, MCPServerStreamableHttp

async with MCPServerStreamableHttp(
    url="https://vignetim.com/api/mcp",
    name="vignetim",
    headers={
        "X-API-Key": "YOUR_API_KEY",
        "X-API-Secret": "YOUR_API_SECRET",
    },
) as mcp:
    agent = Agent(
        name="Vignetim Partner",
        instructions="You manage Vignetim API integration. Browse products, create orders, and manage webhooks.",
        mcp_servers=[mcp],
    )
    result = await agent.run("List all Hungarian vignettes for cars")

OpenAI Agents SDK (Node.js)

typescript
import { Agent, MCPServerStreamableHttp } from '@openai/agents';

const mcp = new MCPServerStreamableHttp({
	url: 'https://vignetim.com/api/mcp',
	name: 'vignetim',
	headers: {
		'X-API-Key': 'YOUR_API_KEY',
		'X-API-Secret': 'YOUR_API_SECRET',
	},
});

await mcp.connect();

const agent = new Agent({
	name: 'Vignetim Partner',
	instructions: 'You manage Vignetim API integration.',
	mcpServers: [mcp],
});

const result = await agent.run('Show me my recent orders');

Available Tools (23 total)

Products (8 tools)

ToolMethodAPI Endpoint
list_ticketsGET/products/tickets
get_ticketGET/products/tickets/:id
list_esim_packagesGET/products/esim
list_insurance_productsGET/products/insurance
get_insurance_productGET/products/insurance/:slug
list_vehicle_categoriesGET/products/vehicle-categories
list_vehicle_categories_by_typeGET/products/vehicle-categories/by-type/:typeId
list_geo_checkpointsGET/products/geo/checkpoints

Orders (5 tools)

ToolMethodAPI Endpoint
create_orderPOST/orders
list_ordersGET/orders
get_orderGET/orders/:id
get_order_documentsGET/orders/:id/documents
get_order_statusGET/orders/:id/status

Webhooks (5 tools)

ToolMethodAPI Endpoint
create_webhookPOST/webhooks
list_webhooksGET/webhooks
update_webhookPUT/webhooks/:id
delete_webhookDELETE/webhooks/:id
test_webhookPOST/webhooks/:id/test

Wallet (1 tool)

ToolMethodAPI Endpoint
get_wallet_balanceGET/wallet

Documentation (4 tools β€” no auth required)

ToolDescription
list_docsList all API documentation sections
get_docGet a section's full content by slug
search_docsSearch across all documentation
get_openapi_specGet the OpenAPI 3.0 spec URL

Building a Custom Agent

python
from openai_agents import Agent, MCPServerStreamableHttp, Runner

SYSTEM_PROMPT = """You are a Vignetim Partner API assistant.
You help manage e-vignette, eSIM, and insurance orders.

Available actions:
- Browse products (vignettes, eSIM packages, insurance)
- Create and track orders
- Set up and manage webhook notifications
- Search API documentation for integration help

Always confirm before creating orders or modifying webhooks.
Use sandbox mode for testing."""

async def main():
    async with MCPServerStreamableHttp(
        url="https://vignetim.com/api/mcp",
        name="vignetim",
        headers={
            "X-API-Key": "YOUR_SANDBOX_KEY",
            "X-API-Secret": "YOUR_SANDBOX_SECRET",
        },
    ) as mcp:
        agent = Agent(
            name="Vignetim Assistant",
            instructions=SYSTEM_PROMPT,
            mcp_servers=[mcp],
        )
        result = await Runner.run(
            agent,
            "Set up webhooks for order.completed and order.failed events "
            "at https://myapp.com/api/webhooks/vignetim, then send a test event."
        )
        print(result.final_output)

Sandbox Mode

The environment is determined by your API key: keys prefixed vgn_test_ use the sandbox with simulated payments, vgn_live_ keys use production. No extra header is required:

json
{
	"headers": {
		"X-API-Key": "YOUR_SANDBOX_KEY",
		"X-API-Secret": "YOUR_SANDBOX_SECRET"
	}
}

Alternative: Direct HTTP Access

If your platform doesn't support MCP:

ResourceURL
OpenAPI Spechttps://vignetim.com/api/partner-openapi
LLMs.txthttps://vignetim.com/llms.txt
AI Pluginhttps://vignetim.com/.well-known/ai-plugin.json
API Docshttps://docs.vignetim.com

Troubleshooting

"API credentials required"

API tools need both X-API-Key and X-API-Secret headers. Documentation tools work without credentials.

Connection Issues

Verify the endpoint is reachable:

bash
curl -X POST https://vignetim.com/api/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

Rate Limiting

The MCP server respects Partner API rate limits: 100 req/min general, 10 req/min for order creation. Sandbox has a 5x multiplier.