# Direct API > Use MCP Bond directly via bearer token authentication. **MCP server URL** ```text https://mcp.valency.io/ ``` :::tip[For developers] Use this guide to build an integration or connect an MCP client with a bearer token. For clients that support OAuth, use [one of the supported platforms](https://docs.valency.io/index.md#supported-platforms) or the [general MCP client guide](https://docs.valency.io/guides/other/mcp-client.md). ::: ## Connection details | Setting | Value | |---------|-------| | Transport | Streamable HTTP | | Authentication | Bearer token in the `Authorization` header | | Request format | MCP JSON-RPC | ## Setup 1. Get your bearer token from your [Settings page](https://app.valency.io/settings) in the Valency app. 2. Configure your MCP client or SDK with the server URL above, the **Streamable HTTP** transport, and this header: ```text Authorization: Bearer YOUR_TOKEN ``` Replace `YOUR_TOKEN` with your token. Clients may call this setting **Headers**, **Bearer token**, or **API token**; follow your client's configuration format. An MCP SDK handles initialization and protocol version negotiation for you. 3. Connect and call the `list_sources` tool. A returned source list confirms that authenticated tool calls work. You can then use the [MCP endpoint reference](https://docs.valency.io/reference/endpoints.md) to choose tools and their arguments. :::tip[You're connected] You received Valency's source list. Your integration can now call tools to search and analyze papers. ::: ## Optional: test the handshake with curl To check your URL and token without configuring a client, send an initialization request: ```bash curl --fail-with-body -sS https://mcp.valency.io/ \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Content-Type: application/json" \ -H "Accept: application/json, text/event-stream" \ --data '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-11-25","capabilities":{},"clientInfo":{"name":"api-check","version":"1.0.0"}}}' ``` Expect a response containing `result.protocolVersion`, `result.capabilities`, and `result.serverInfo`. This checks initialization; use your MCP client or SDK to verify a tool call. The example uses `2025-11-25`, a protocol version supported by Valency. If you implement MCP over raw HTTP, follow the [MCP lifecycle](https://modelcontextprotocol.io/specification/2025-11-25/basic/lifecycle): read the negotiated version, send `notifications/initialized`, and include the negotiated `MCP-Protocol-Version` header on subsequent requests. ## Troubleshooting ### Token rejected? Check that you copied the full token and that your client sends `Authorization: Bearer YOUR_TOKEN` on every request. A successful health check does not verify your token. If authenticated requests still fail, [report the issue](https://docs.valency.io/help/reporting-issues.md) without including your token. ### Cannot reach the server? Open the [health check](https://mcp.valency.io/health) in your browser, or run: ```bash curl --fail-with-body -sS https://mcp.valency.io/health ``` The health check requires no token. A successful response confirms the health endpoint is reachable; it does not confirm that your integration can call MCP tools. If it fails, check your network and [report the issue](https://docs.valency.io/help/reporting-issues.md). ### Need help? See [Troubleshooting](https://docs.valency.io/help/troubleshooting.md) or [report an issue](https://docs.valency.io/help/reporting-issues.md) with your client or SDK name, version, and the error you received.