MCP Client Setup
MCP Client Setup
Section titled “MCP Client Setup”Claude Desktop
Section titled “Claude Desktop”Add the Artland MCP server to your Claude Desktop configuration:
File: ~/Library/Application Support/Claude/claude_desktop_config.json
{ "mcpServers": { "artland": { "url": "https://api.artland.com/v1/mcp/sse", "headers": { "Authorization": "Bearer *** configure Claude Desktop:**
1. Open Claude Desktop2. Go to **Settings → Developer → Edit Config**3. Add the `artland` server to `mcpServers`4. Replace `ak_live_your_key_here` with your actual API key5. Restart Claude Desktop
:::tipYou can verify the connection by asking Claude: *"Can you check my Artland sync status?"*:::
---
## Cursor
Add the Artland MCP server to your Cursor project:
**File:** `.cursor/mcp.json`
```json{ "mcpServers": { "artland": { "url": "https://api.artland.com/v1/mcp/sse", "headers": { "Authorization": "Bearer *** configure Cursor:**
1. Open your project in Cursor2. Create `.cursor/mcp.json` in your project root3. Add the configuration above4. Replace `ak_live_your_key_here` with your actual API key5. Restart Cursor or reload the window
:::noteCursor uses project-level configuration, so each project can have its own Artland API key.:::
---
## Custom Clients
Any MCP-compatible client can connect to Artland using the SSE transport:
### Endpoints
| Endpoint | Transport | URL ||----------|-----------|-----|| SSE | Server-Sent Events | `https://api.artland.com/v1/mcp/sse` || Message | HTTP POST | `https://api.artland.com/v1/mcp/message` |
### Authentication
Pass your API key in the connection headers:
```json{ "Authorization": "Bearer *** using TypeScript:**
```typescriptimport { Client } from "@modelcontextprotocol/sdk/client/index.js";import { SSEClientTransport } from "@modelcontextprotocol/sdk/client/sse.js";
const transport = new SSEClientTransport( new URL("https://api.artland.com/v1/mcp/sse"), { requestInit: { headers: { Authorization: "Bearer *** const client = new Client( { name: "my-app", version: "1.0.0" }, { capabilities: {} });
await client.connect(transport);
// Use any of the 11 toolsconst result = await client.callTool({ name: "artland_list_artworks", arguments: { page: 1, limit: 10 }});