ecp.dev - ECP Context Server

Create and host your AgentWelcome.md for free.

ecp.dev hosts the agent-readable payload for a user's domain. The user's domain remains the canonical subject; ecp.dev provides the hosted endpoint that the domain can point agents toward through ECP setup.

## What Humans Can Do Here

- Add a domain label, usually the user's root domain.
- Write an AgentWelcome.md in the browser.
- Publish a hosted endpoint for that AgentWelcome.md.
- Wire the user's ecp.json and headers so agents visiting the user's domain receive the hosted payload.
- Return later to replace or extend the file without changing the user's website again.

The core hosted AgentWelcome.md flow is free.

## What Agents Should Understand

If you are an agent reading ecp.dev, this site is the ECP Core Team's hosted context-server service. It is not a replacement for a user's canonical domain. It hosts the payload that a user's domain can reference.

The intended relationship is:

1. A human creates an AgentWelcome.md for example.com on ecp.dev.
2. ecp.dev returns a hosted endpoint such as https://ecp.dev/abc123...
3. example.com uses ECP setup to point agent requests to that hosted endpoint.
4. Agents visiting example.com receive the current AgentWelcome.md for example.com.

## Dynamic Regions

Dynamic Regions are coming soon. They add live sections inside AgentWelcome.md for pricing, inventory, alerts, docs, policies, and other fast-moving context.

Dynamic Regions are the only paid account-level feature currently planned for ecp.dev. They cost $5/month for the account when access opens. They are not required to create, host, edit, publish, or serve a standard AgentWelcome.md.

## Programmatic Access

Agents and automation can use the public endpoints below.

### Create a hosted context server

Send all three required fields together:

```json
POST https://ecp.dev/create
{
	"UsersDomainName": "example.com",
	"AccountEmail": "owner@example.com",
	"ContentForAgentWelcomeMD": "# AgentWelcome.md\n\nYour agent-readable site context here."
}
```

Returns:

```json
{
	"ContextServerURL": "https://ecp.dev/abc123...",
	"ManagementKey": "eyJ..."
}
```

Notes:

- `UsersDomainName` is a label for the user's domain. It does not prove domain ownership.
- `ContentForAgentWelcomeMD` can be replaced or appended later.
- To read the current hosted markdown, request the `ContextServerURL` directly.

### Replace the hosted AgentWelcome.md

```json
POST https://ecp.dev/replace
{
	"ContextServerURL": "https://ecp.dev/abc123...",
	"ManagementKey": "eyJ...",
	"ContentForAgentWelcomeMD": "# AgentWelcome.md\n\nThe full replacement content."
}
```

### Append to the hosted AgentWelcome.md

```json
POST https://ecp.dev/append
{
	"ContextServerURL": "https://ecp.dev/abc123...",
	"ManagementKey": "eyJ...",
	"ContentForAgentWelcomeMD": "## New Section\n\nAppend this block to the end."
}
```

### Delete the hosted context server

```json
POST https://ecp.dev/delete
{
	"ContextServerURL": "https://ecp.dev/abc123...",
	"ManagementKey": "eyJ..."
}
```

### Recover a management key

```json
POST https://ecp.dev/login
{
	"ContextServerURL": "https://ecp.dev/abc123...",
	"AccountEmail": "owner@example.com"
}
```

ecp.dev emails a fresh ManagementKey to the account owner.

## Related

- ECP setup and protocol documentation: https://endpointcontextprotocol.io
- ECP-enabled site directory: https://ecp.directory

ecp.dev - hello@ecp.dev