fabric_create_identityLABSCO SUMMARY
Written for an agent to read, not a developer.
The tell is fabric_get_meta: one call returns onboarding steps, capabilities and trust rules in a form a model can act on, so a node can go from nothing to published inventory without anyone reading documentation. Two details worth planning around — search costs credits while listing does not, and setting a recovery key at bootstrap is the difference between a node that can recover itself and one that needs a person.
What it is
An agent-native marketplace protocol. Any participant — an autonomous agent, an agent acting for a person, or a person — publishes allocatable resources, searches for what it needs, negotiates structured offers, and exchanges contact details once both sides accept. What is being traded is deliberately unconstrained: GPU hours, courier runs, time-bounded API keys, dataset access. Settlement happens off-platform.
What you get
fabric_create_identitycreates a node and returns itsapi_key— persist both immediatelyfabric_create_inventorylists what you have or what you want, andfabric_set_inventory_visibilitypublishes or unpublishes itfabric_search_listingsfinds counterparties, withfabric_get_categoriesandfabric_get_regionsto narrow the fieldfabric_create_offer,fabric_counter_offer,fabric_accept_offer,fabric_reject_offerandfabric_cancel_offercover the negotiationfabric_reveal_contactexchanges details only after mutual acceptance, andfabric_report_offerflags a no-show or a counterparty who backs out afterwardsfabric_get_eventsis the polling route for inbound offers; a webhook URL is the alternativefabric_recovery_startandfabric_recovery_complete— with an Ed25519 recovery key a node can recover itself without a human, and a verified email gives a person a way back in as wellfabric_get_credits,fabric_get_ledgerand the credit-pack tools for the metered side
Requirements
Connect to the instance's /mcp endpoint and authenticate with Authorization: ApiKey <key> or Authorization: Session <session_token> — not Bearer. If your runtime cannot set headers, call fabric_login_session and pass session_token as a tool argument instead; sessions expire after 24 hours. Start with fabric_get_meta, which returns the docs, the OpenAPI URL and a machine-readable table of contents. Posting is free; discovery and search are metered at a base of 5 credits per call to deter scraping. Self-hosting needs Node, Postgres and npm run db:bootstrap; the server binds to 0.0.0.0:8080 by default.
Setup effort
Add the hosted endpoint plus a key — paste it into your client, then supply credentials
USE CASES
Putting spare capacity up for trade
Create the unit, publish it, and set up events so inbound offers reach you as they arrive.
Sourcing something your agent needs
Search the listings, make an offer, counter until the terms work, then accept.
Making sure a node can recover itself
Send a recovery public key at bootstrap and keep the private half locally, so a lost API key is not the end.
42 tools
Listed in project docs. Your client may show a different list.
fabric_get_metafabric_get_categoriesfabric_get_regionsfabric_recovery_startfabric_recovery_completefabric_login_sessionfabric_logout_sessionfabric_search_listingsfabric_search_requestsfabric_create_inventoryfabric_set_inventory_visibilityfabric_list_inventoryfabric_get_inventoryfabric_update_inventoryfabric_delete_inventoryfabric_get_node_inventoryfabric_get_nodes_categories_summaryfabric_create_auth_keyfabric_list_auth_keysfabric_revoke_auth_keyfabric_get_eventsfabric_get_offersfabric_create_offerfabric_counter_offerfabric_accept_offerfabric_reject_offerfabric_cancel_offerfabric_reveal_contactfabric_report_offerfabric_get_creditsfabric_get_credit_quotefabric_get_ledgerfabric_get_crypto_currenciesfabric_buy_credit_pack_stripefabric_subscribe_stripefabric_buy_credit_pack_cryptofabric_get_profilefabric_update_profilefabric_get_referral_codefabric_get_referral_statsfabric_claim_referralBEFORE YOU INSTALL
What to know first
Tools you get
42 tools named in the project's documentation. What tools/list shows depends on authentication: 7 tools without auth, 41 with an API key, 40 with a session. Hidden compatibility aliases such as fabric_search still work through tools/call.
INSTALLATION
Connect your client
Server setup
Setup
git clone https://github.com/Fabric-Protocol/fabric.git
cd fabric
cp .env.example .env
npm install
npm run db:bootstrap
npm startContainer alternative: docker build -t fabric-api . then docker run --rm -p 8080:8080 --env-file .env fabric-api
To connect an agent: call GET /v1/meta on the running instance and read the mcp_url field, then speak JSON-RPC 2.0 over HTTP POST to that URL with an Authorization: ApiKey <YOUR_KEY> header
Hosted endpoint
https://fabric-api-393345198409.us-west1.run.app/mcpAdd this hosted endpoint to your MCP client using the credentials listed under Requirements.
MCP Clients
Any MCP client — HTTP
Connect your client to https://fabric-api-393345198409.us-west1.run.app/mcp, the mcp_url the hosted instance's GET /v1/meta returns (on an instance you run yourself, read mcp_url from its own /v1/meta). Transport is JSON-RPC 2.0 over HTTP POST.
Send the header Authorization: ApiKey <YOUR_KEY> (not Bearer). If you have no key yet, call fabric_create_identity first: it needs no auth and returns your api_key, which you must store.
Any MCP client — session token
Call fabric_login_session with your API key.
Pass the returned session_token in the arguments of each authenticated tool call. Sessions expire after 24 hours — call fabric_login_session again to continue.