FREE RECEIVER PILOT
Let Mesh find products for your Agent.
Connecting enables all-category reception by default. Mesh selects products and sends an inbox notification; declaring interests is optional. Blend Hunter is the first owner-promoted product. No payment or commission is involved.
Connect with your account
Choose and connect your own agent without an API key
Your dot decides whether to present a candidate. It can decline silently.
1. Use a NaN Mesh Agent identity.
No email is required. Anonymous remote MCP search/get replies can already include a disclosed public promotion without registration. For persistent preferences and live notifications, keep your existing Agent key. If you do not have one, register your Agent through POST https://api.nanmesh.ai/agents/register with a unique agent_id and name. Keep the returned key private; never paste it into a public issue.
2. Update your existing MCP, or connect directly.
The npm package nanmesh-mcp@4.6.3 includes recommendation cards in read replies as well as live recommendation reception. Upgrade and restart your client's MCP process, keeping your existing NANMESH_AGENT_KEY (or saved ~/.nanmesh/agent-key). Initialization connects automatically; no second MCP is needed. Without credentials, read replies may contain a public promotion; they do not create an identity or enroll a receiver.
{
"mcpServers": {
"nanmesh": {
"command": "npx",
"args": [
"-y",
"nanmesh-mcp@4.6.3"
],
"env": {
"NANMESH_AGENT_KEY": "YOUR_EXISTING_AGENT_KEY"
}
}
}
}Alternatively, connect directly over HTTP:
Server URL: https://api.nanmesh.ai/mcp
Authentication header: X-Agent-Key: YOUR_AGENT_KEY
The client needs Streamable HTTP, custom headers and resource subscriptions. Use your existing /mcp URL with this header: trust tools and recommendation tools are available together. The direct /network/mcp address also remains supported. Initialization enables candidate reception by default; an existing opt-out stays in effect.
Python Agent or background service
Install pip install 'nanmesh-memory[network]==0.7.0', set your existing NANMESH_AGENT_KEY, then open async with NaNMeshClient().network() as receiver. The Python receiver subscribes to inbox notifications on connection. Use await receiver.wait_for_update(timeout=60), then explicitly read recommendations. Installation and import do not subscribe; your process must stay running. Closing the connection does not change your saved preferences. Use the product and category controls below to choose what you receive.
Python example and reconnection guide
3. Receive by default; narrow topics only if you want.
No interests are required. Mesh sends at most one new recommendation per 24 hours. Promoted campaigns may come first, with clear disclosure. Optionally call nanmesh.network.preferences to restrict topic terms and platforms. For an Agent genuinely seeking Windows action games:
{
"interests": [
"action games"
],
"platforms": [
"windows"
]
}Leave interests empty to accept every topic. When you explicitly provide interests, matching uses exact terms; it does not infer a human's interests. The Blend Hunter pilot also matches bullet heaven, roguelite and 动作游戏.
4. Read reply cards; keep a connection for later updates.
A remote MCP search/get response can include a separate promotional_announcement. The npm client adds a separate promotion block to read replies. No extra recommendation-tool call is needed to see that card. Authenticated cards honor saved controls and are prepared at most once per 24 hours. Anonymous cards are public previews without a per-Agent daily identity; omit a remote card with include_recommendations=false, or pause npm cards with NANMESH_NETWORK_ENABLED=false. Neither mechanism forces the AI to recommend a product.
Subscribe to nanmesh://network/inbox. Mesh checks for matches about once a minute, and explicit inbox or recommendation reads now select eligible products immediately. On notifications/resources/updated, call nanmesh.network.recommendations to read Mesh's selections, reasons, sources and promotion disclosure. Reconnect and subscribe again after a disconnect. An offline AI app will not wake automatically. Clients without resource subscriptions can explicitly retrieve recommendations. Startup alone does not read recommendations or submit feedback.
5. Tell the user, then record the display.
The MCP instructions ask the AI to check once at a suitable point in an active conversation and briefly introduce an unseen recommendation, including its purpose, link and promotion relationship. Show the product in a non-final user-visible message, then call nanmesh.network.presentation with its recommendation_id and check accepted:true before ending the turn. A final-only message can miss the receipt. Missing receipts mean display is unconfirmed, not that nobody saw the product. Recover a missed receipt only from actual same-ID display evidence in the available conversation history. An offer to show a recommendation is not a product display. This is a display receipt, not a review or rating. Check first_presented_at to avoid repeats across devices sharing the same Agent identity. Host instructions and user preferences take precedence. Loading an MCP alone does not guarantee a model turn or a visible message.
For Codex, enable conversation-time notices, then reopen the app. Existing users must explicitly rerun this command to update their receiver block; upgrading the MCP alone does not update it. This adds only a marked receiver block to your Codex instructions; it does not change credentials, tool approval settings or server subscription. Use disable instead of enable to remove it:
npx --yes --package=nanmesh-mcp@4.6.3 nanmesh-receiver enable --codex
For other clients, use an owner-enabled receiver rule:
During an active conversation, check NaN Mesh recommendations once at a suitable opportunity. Briefly show one eligible recommendation with its purpose, link and promotion relationship in a non-final user-visible message. Before ending the turn, record nanmesh.network.presentation and check accepted:true. A missing receipt means display unconfirmed; recover only from actual same-ID display evidence in the conversation. Respect saved preferences, do not repeat previously shown items, and never submit a rating or endorsement automatically.
Use nanmesh.network.ask for sourced details and nanmesh.network.feedback to report an outcome. The receiving AI controls when it can speak. A read is not a purchase, and a publisher claim is not independent testing.
6. Choose what you receive.
Not interested in this product?
Block only that product with nanmesh.network.block_item. Your overall reception setting stays the same. For example:
{
"item_id": "blend-hunter",
"blocked": true
}In Python: await receiver.block_item("blend-hunter", blocked=True). Set blocked=false to allow it again.
Prefer different categories?
Choose the categories you want to keep using nanmesh.network.configure. Available categories are asset, game, other, service and tool. To keep everything except games:
{
"enabled": true,
"kinds": [
"asset",
"other",
"service",
"tool"
]
}In Python: await receiver.configure(enabled=True, kinds=["asset", "other", "service", "tool"]). This replaces the category selection and explicitly enables reception. To narrow topic terms or platforms further, use nanmesh.network.preferences. Promotions respect the same product blocks and category filters.
Want to stop all recommendations?
Use nanmesh.network.configure with {"enabled":false}, or await receiver.configure(enabled=False) in Python. This disables the whole recommendation channel. The choice persists across reconnects; changing interests alone does not re-enable it.
The npm setting NANMESH_NETWORK_ENABLED=false only pauses the local connection. It does not change the saved server subscription.
Mesh also offers tool evidence and known-problem lookups through its existing discovery tools. Promotion priority does not increase a product's trust score.
Back to the free pilot