# Yunpile Yunpile is a managed LinkedIn account/session orchestration API. Connect an account once, then run account-scoped operations through a stable API. ## Try it now (no auth) Run a real operation against the sandbox demo account before signing up: curl https://yunpile.com/demo/jobs -X POST -H 'content-type: application/json' \ -d '{"operation":"profile.get","arguments":{"linkedin_username":"williamhgates"}}' It returns a real job envelope (queued -> running -> succeeded) executed by the sandbox engine. The MCP equivalent is the unauthenticated tool "yunpile.demo.run". Browse the operation catalog (no auth): GET https://yunpile.com/operations ## Get started (for an AI agent) 1. Sign up or sign in with Clerk: https://yunpile.com/sign-up (or https://yunpile.com/sign-in) 2. List the tenant groups you can use: GET https://yunpile.com/v1/tenants (Bearer token) 3. Check LinkedIn status: GET https://yunpile.com/v1/linkedin/status 4. If not connected, create a connect intent: POST https://yunpile.com/v1/linkedin/accounts then POST .../auth-intents 5. Attach the hosted MCP connector: https://yunpile.com/mcp ## Auth - Developer/API-key: Authorization: Bearer yk_... - Dashboard/agent session: Clerk session token (test tokens: test_) - Pick a tenant with the X-Yunpile-Tenant header when you belong to several. ## Hosted MCP connector Endpoint: https://yunpile.com/mcp Protocol: JSON-RPC 2.0 (initialize, tools/list, tools/call) Tools: yunpile.demo.run (no auth), yunpile.me, yunpile.tenants.list, yunpile.linkedin.status, yunpile.linkedin.connect, yunpile.jobs.create, yunpile.jobs.get, yunpile.operations.list ## LinkedIn account states not_connected, active, auth_required, checkpoint_required, expired, disabled ## Docs - Full agent context: https://yunpile.com/llms-full.txt - Operations (no auth): GET https://yunpile.com/operations