/\ ATFGraph /docs
README Downloads
Guides and integrations / ATFGraph
Framework reference

This article is retained from the existing framework docs. Self-hosting commands and server-admin access differ from the managed CLI workflow. Start with Get started for the installed product.

HTTP, MCP & A2A discovery

Publish a registered node so other systems can discover and call its capabilities through HTTP, MCP or A2A. The graph server supplies the protocol endpoint; your application's worker executes the calls. An operator must first enable publication and the required protocol in the YAML file selected by ATFGRAPH_CONFIG_FILE:

atfgraph:
  protocols:
    mcp_enabled: true
    a2a_enabled: true
    public_base_url: https://graph.example.test
  ard:
    enabled: true
    publish_catalog: true
    public_registry: false

Check the active settings and their YAML source with GET /api/v2/ard/settings. Environment overrides are ATFGRAPH_ARD_ENABLED, ATFGRAPH_ARD_PUBLISH_CATALOG, ATFGRAPH_ARD_PUBLIC_REGISTRY, ATFGRAPH_MCP_ENABLED, ATFGRAPH_A2A_ENABLED and ATFGRAPH_PUBLIC_BASE_URL.

Publication is disabled by default. Until publish_catalog is enabled, publication requests return 403 publication_disabled and the catalog returns 404. The Console's Agents → Publish tab explains the required settings. You must also set protocols.public_base_url to the address callers will use, such as http://127.0.0.1:18880 for local testing; otherwise publication returns 403 public_url_required. Restart the server after changing these deployment settings (atfg server stop && atfg server start --config <file>).

Publishing a catalog and allowing unauthenticated registry search are separate choices. The catalog includes only explicitly published records. Starting a run still requires graph server credentials.

Once the node is registered, an administrator can publish it with POST /api/v2/ard/publications:

{"label":"co-consult","artifact_type":"mcp","display_name":"Travel consultant","published":true}

Choose mcp, a2a or http for artifact_type. Enable that protocol before publishing. Publication does not start a worker or enable a protocol. MCP and A2A URLs include the node's immutable version, so registering a newer version does not change an existing publication's target. Validation checks the registered definition and protocol on this server; it does not prove that a remote caller can reach the endpoint.

List publications with GET /api/v2/ard/publications, or search with POST /api/v2/ard/search. Both use the caller's namespace. Search accepts {"query": "...", "tags": [...]} and matches any supplied tag. Node and capability tags are copied into the publication when it is published.

Realtime entrypoints are available only through http artifacts. Publishing a node with only realtime capabilities as mcp or a2a returns 422 realtime_http_only. Delete a publication with DELETE /api/v2/ard/publications/{id}. Publishing the same node, version and protocol again updates its existing record.

The optional public manifest is at /.well-known/ai-catalog.json. Published artifact documents are at /ard/artifacts/{id}, and registry search is at /ard/agents?query=travel. Search requires credentials unless public_registry is enabled. After a restart, disabled protocols disappear from public results even if their publication records remain. Artifact documents use the current public base URL and authentication settings.

These operations publish and search the catalog of this graph server. Register the node and run its worker here before publishing it.

ATFGraph documentationHosted workflow · Framework reference