AgentClose Python
Python SDK and read-only MCP server for AgentClose post-payment reconciliation.
Install
pip install agentclose
Install the MCP extra when exposing AgentClose to an MCP client:
pip install "agentclose[mcp]"
Capture events
from agentclose import AgentCloseClient, Event
with AgentCloseClient("acl_your_api_key") as client:
client.capture(
Event(
type="request.started",
data={
"agent_id": "research-agent",
"task_id": "task_8f2",
"request_id": "req_4a81",
"service": "company-data.api",
"attempt_number": 1,
},
)
)
event_id and occurred_at are generated once when Event is constructed. A retry
therefore keeps the same idempotency identity. Capture methods retry transient failures
with a bounded backoff and are fail-open by default, so reconciliation telemetry does not
break the Agent workflow. Set fail_open=False when delivery must raise an error.
Send 1–100 facts with one request:
events = [
Event(type="task.started", data={"agent_id": "research-agent", "task_id": "task_8f2"}),
Event(
type="payment.confirmed",
data={
"agent_id": "research-agent",
"task_id": "task_8f2",
"request_id": "req_4a81",
"payment_id": "pay_72bc",
"amount": {"minor": 12, "currency": "USD"},
},
),
]
with AgentCloseClient("acl_your_api_key") as client:
client.capture_batch(events)
AsyncAgentCloseClient provides the same methods for async applications:
from agentclose import AsyncAgentCloseClient, Event
async with AsyncAgentCloseClient("acl_your_api_key") as client:
await client.capture(Event(type="task.started", data={"task_id": "task_8f2"}))
Observe x402
The observer records an x402 exchange after your runtime has handled payment. It never holds funds, signs a payment, or reads wallet keys.
from agentclose import AgentCloseClient, X402Observation
observation = X402Observation(
agent_id="research-agent",
task_id="task_8f2",
request_id="req_4a81",
service="company-data.api",
endpoint="https://company-data.example/query",
payment_required="base64-payment-required-header",
payment_response="base64-payment-response-header",
http_status=200,
delivery_observed=True,
)
with AgentCloseClient("acl_your_api_key") as client:
client.observe_x402(observation)
Query reconciliation data
Read methods raise errors instead of failing open:
with AgentCloseClient("acl_your_api_key") as client:
page = client.list_transactions(status="EXCEPTION", limit=50)
next_cursor = page["next_cursor"]
payment_matches = client.get_payment_transactions("pay_72bc")
usage = client.get_usage()
Run the read-only MCP server
export AGENTCLOSE_API_KEY=acl_your_api_key
agentclose-mcp
The stdio server exposes these tools:
list_transactionsget_transactionget_task_transactionsget_task_costlist_open_exceptionsget_payment_statusget_usage_summary
Example MCP client configuration:
{
"mcpServers": {
"agentclose": {
"command": "agentclose-mcp",
"env": {
"AGENTCLOSE_API_KEY": "acl_your_project_api_key"
}
}
}
}
The MCP process uses the same project-scoped AgentClose API key as the SDK. It only calls read endpoints and cannot capture events, resolve exceptions, rotate keys, or modify data.
Metadata
Release files for agentclose 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| agentclose-0.1.0.tar.gz | 74.6 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| agentclose-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 82.7 kB
Release files / agentclose-0.1.0.tar.gz
| Download URL | agentclose-0.1.0.tar.gz |
|---|---|
| Size | 74.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
34687ba1f25ced02a05ee504d100947d2629d4bbb5b4274e3c2261ceed27193c
|
|
BLAKE2b-256 checksum How to use checksums |
8b291ac1b8beacad2d9768fad06ce913d625e09f14220ba48cd22135fb8f90a5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.13
|
Release files / agentclose-0.1.0-py3-none-any.whl
| Download URL | agentclose-0.1.0-py3-none-any.whl |
|---|---|
| Size | 8.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6b0d68880a9d44b31616b487ef6294194f985b4b43ad1fd746f2721970fca9b6
|
|
BLAKE2b-256 checksum How to use checksums |
8ba1598df806e657d11a33b402ae3fb115cd3dddae86c8cffa270e606e7d1998
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.13
|
Security for agentclose 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.