Skip to main content

Testing with MCP Inspector

The MCP Inspector is the official developer tool for MCP servers. It's the fastest way to confirm your token works, browse the available tools, and run real tool calls — all from a browser UI, no agent or code required.

You only need Node.js and an MCP token.

Launch the Inspector

Run it directly with npx (no install needed):

npx @modelcontextprotocol/inspector

This starts the Inspector and opens its web UI in your browser.

Connect to the Smily MCP server

In the left-hand connection pane:

  1. Transport Type: select Streamable HTTP.
  2. URL: enter https://www.bookingsync.com/mcp.
  3. Authentication: open the Authentication section and enter your token as the Bearer Token — the Inspector sends it as Authorization: Bearer <token>. (Equivalently, add a custom header Authorization with value Bearer mcp_YOUR_TOKEN.)
  4. Click Connect.

On success the Inspector shows the server info (bookingsync-mcp, version 1.0.0) and the negotiated protocol version.

Header-less? Use the URL token instead

If you'd rather not set a header, you can append the token to the URL — https://www.bookingsync.com/mcp?token=mcp_YOUR_TOKEN — and leave Authentication empty. This is the same URL-token fallback Claude Cowork uses. Prefer the Bearer token when you can.

Explore the tools

  1. Open the Tools tab and click List Tools — you should see the four tools: api_v3_resources, api_v3_resource_schema, api_v3_list, api_v3_get.
  2. Select api_v3_resources and click Run Tool (it takes no arguments) to list every resource your token can read.
  3. Select api_v3_resource_schema, set resource to e.g. bookings, and run it to see the attributes, filters, and relationships.
  4. Select api_v3_list, fill in the arguments form, and run a real query. For example:
    • resourcebookings
    • filter{ "rental_id": 42 }
    • fields["start_at", "end_at", "final_price"]
    • limit5

The result panel shows the JSON payload returned by the tool.

Selecting an account (multi-account tokens)

If your token is multi-account, every call must pin an account. With the Inspector you have two easy options:

  • Per call: add account_id to the tool's arguments form (e.g. account_id1234).
  • For the whole session: add a custom header X-BookingSync-Account-ID with value 1234 in the connection pane before connecting. It applies to every call that doesn't set account_id itself.

Single-account tokens don't need either — the account is implicit.

CLI mode (scripted checks)

The Inspector also has a non-interactive CLI mode, handy for smoke tests and scripts. Pass the token as a header with --header:

# List the available tools
npx @modelcontextprotocol/inspector --cli https://www.bookingsync.com/mcp \
--transport http \
--header "Authorization: Bearer mcp_YOUR_TOKEN" \
--method tools/list
# Call a tool (arguments are passed as key=value via --tool-arg)
npx @modelcontextprotocol/inspector --cli https://www.bookingsync.com/mcp \
--transport http \
--header "Authorization: Bearer mcp_YOUR_TOKEN" \
--method tools/call \
--tool-name api_v3_list \
--tool-arg resource=bookings \
--tool-arg limit=5

For a multi-account token, add the account either as a tool argument (--tool-arg account_id=1234) or as a header (--header "X-BookingSync-Account-ID: 1234").

Troubleshooting

  • Can't connect / Unauthorized — re-check the token and that Transport Type is Streamable HTTP (not SSE). See Authentication.
  • account_id is required for this token — your token is multi-account; pin an account as shown above.
  • Lower-level details — for the raw JSON-RPC the Inspector sends, see Protocol & transport.