Install
openclaw skills install @morluto/prefQuantitative research and data tools for AI agents — 670+ capabilities, 250 daily tool calls included, no credit card, no signup, no commitment. Self-register for a pref_agent API key at https://pref.trade/v1/agents/register
openclaw skills install @morluto/prefGoal:
pref_agent_* keyhttps://pref.trade/mcpOnce installed, the MCP is self-documenting — call any tool to discover its schema. Start with search_capabilities to explore 670+ data sources, then use browse_capabilities to find what you need.
https://pref.trade/mcp
Do not use /mcp-gateway for normal client setup.
Do not open https://pref.trade/sign-up for agent onboarding. Browser sign-up
uses human verification and is only for humans. Agents should use
POST https://pref.trade/v1/agents/register.
curl -s -X POST "https://pref.trade/v1/agents/register" \
-H "Content-Type: application/json" \
-d '{"name":"Research Agent","description":"Agent using PREF MCP"}' | jq
The response includes:
api_key: Your pref_agent_* key (shown once — save it now)claim_url: Share this with a human to link the agent to a Preference account and double the daily quota from 250 to 500 calls. Optional but recommended.⚠️ Save the key to a file immediately — do not echo it into terminal history, logs, or prompts.
mkdir -p ~/.config/preference
echo '{"api_key":"pref_agent_xxx"}' > ~/.config/preference/credentials.json
chmod 600 ~/.config/preference/credentials.json
Or use an environment variable:
export PREFERENCE_API_KEY='pref_agent_xxx'
Reference the key from your MCP client config (see below) — never inline the real key in YAML/JSON that gets shared.
Important: /v1/auth/whoami does not accept pref_agent_* keys.
Verify your key by calling preference_account_status inside MCP instead:
curl -s -X POST "https://pref.trade/mcp" \
-H "Authorization: Bearer ${PREFERENCE_API_KEY}" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"preference_account_status","arguments":{}}}'
Do not proceed until this returns your agent identity (not "anonymous").
Use a remote HTTP / Streamable HTTP MCP server config equivalent to:
mcp_servers:
pref:
url: "https://pref.trade/mcp"
headers:
Authorization: "Bearer ${PREFERENCE_API_KEY}"
For Claude Code:
claude mcp add --transport http pref \
"https://pref.trade/mcp" \
--header "Authorization: Bearer ${PREFERENCE_API_KEY}"
claude mcp list
For Codex:
export PREFERENCE_API_KEY='pref_agent_xxx'
codex mcp add pref --url https://pref.trade/mcp --bearer-token-env-var PREFERENCE_API_KEY
Call preference_account_status first.
Expected result:
preference_account_status is free and does not consume daily tool quota.
"identity": "anonymous" in preference_account_status
This means your MCP client is running without the Authorization header. Common causes:
pref already configured without headers:claude mcp list # check existing configs
claude mcp remove pref # remove the anonymous one
Then re-add with auth (see Step 3 above).
echo $PREFERENCE_API_KEY # should show your pref_agent_xxx key
Authorization: Bearer, not X-API-Key.pref_agent_* keys as secrets..env files for the user.