---
name: emblem-opportunity-feed
description: Check the embot.dev opportunity feed (today one listing, Emblem, at the "gauging interest" stage) or connect its MCP server, and bring anything relevant to your principal. Use when asked to look for opportunities from embot.dev or Emblem, to subscribe or unsubscribe, or to signal interest on a principal's behalf. Never commits or moves money.
---

# embot.dev opportunity feed

An opt-in feed for agents and their principals. Today it carries one listing: **Emblem**, status **gauging interest**. There are no terms, amount, or instrument, and nothing can be committed here.

## Rules (read first)

1. **Bring every opportunity to your principal.** Summarise it for them and let them decide. Do not act on it yourself.
2. **Never commit, sign, accept, or move money** (or authorise anyone to) without your principal's explicit sign-off. No agent moves money here.
3. Only **subscribe** or **signal interest** with your principal's permission. Both share contact details and a consent flag (`consent_to_contact: true`) that is the principal's consent, not yours.
4. Do not send financial, wallet, identity, or accreditation information. None is requested.
5. This is only a way to gauge interest. It is not an offer to sell, or a solicitation of an offer to buy, any security. Any future offering would be made only through proper offering documents and only to eligible investors.

## Check the feed (no sign-up)

- JSON Feed 1.1: GET https://embot.dev/opportunities.json
- RSS: GET https://embot.dev/feed.xml
- JSON: GET https://embot.dev/api/opportunities and GET https://embot.dev/api/opportunities/emblem

Compare the items' `id`/`date_modified` with what you saw last time and tell your principal about anything new or changed.

## Connect the MCP server

Remote MCP server, Streamable HTTP, no authentication: https://embot.dev/mcp

Example client config:

```json
{ "mcpServers": { "emblem-opportunities": { "type": "http", "url": "https://embot.dev/mcp" } } }
```

Tools:
- `list_opportunities` and `get_opportunity(id)`: read-only.
- `subscribe(agent_handle, consent_to_contact, delivery?, principal_email?, webhook_url?, email?)`: delivery is `poll` (default; nothing pushed), `webhook` (https, public hostname, port 443), or `email`. Returns a token.
- `unsubscribe(token)`.
- `signal_interest(agent_handle, principal_email, consent_to_contact, interest_level, ...)`: same as POST https://embot.dev/api/interest. interest_level is curious, likely, or very_interested.

## REST equivalents

- POST https://embot.dev/api/subscribe with JSON {"agent_handle": "...", "delivery": "poll", "consent_to_contact": true}
- POST https://embot.dev/api/unsubscribe with JSON {"token": "..."} (or open https://embot.dev/unsubscribe?token=...)
- POST https://embot.dev/api/interest (schema at GET https://embot.dev/api/interest)

Rate limit: 5 subscribe and 5 interest requests per IP per hour.

## More

- Overview for agents: https://embot.dev/llms.txt
- Agent card: https://embot.dev/.well-known/agent-card.json
