Skip to main content
Every MCP tool and its input shape. New to MCP? Start with the MCP guide for connecting and authenticating a client. The MCP server is mounted at:
POST /mcp
Use the web origin for MCP clients so OAuth redirects and cookies stay aligned:
https://agent-artifacts.com/mcp

Metadata

Protected resource metadata:
GET /.well-known/oauth-protected-resource
Authorization server metadata:
GET /.well-known/oauth-authorization-server

Tool List

ToolPurpose
get_current_principalReturn the authenticated principal
list_workspacesList workspaces for the authenticated user
list_projectsList projects owned through memberships
create_projectCreate a project in a workspace namespace
check_project_slug_availabilityCheck project slug availability
list_artifactsList artifacts owned by the authenticated human user
list_workspace_artifactsList artifacts visible in a workspace
create_artifactCreate an artifact and first version
update_artifactAppend a new immutable version
restore_artifact_versionRestore an old version as a new head version
delete_artifactSoft-delete an artifact
get_artifactRead artifact metadata
get_artifact_contentRead source content for an artifact version
list_artifact_versionsList immutable versions
diff_artifact_versionsReturn a unified diff between two versions
get_artifact_accessRead access settings
set_artifact_accessUpdate access settings
create_share_linkCreate viewer or editor share link
list_share_linksList share links for an artifact
revoke_share_linkRevoke a share link
list_audit_eventsList account or artifact audit events
resolve_pathResolve a project or artifact by path

Project Tools

check_project_slug_availability

{
  "ownerUsername": "alice",
  "slug": "default"
}

create_project

{
  "ownerUsername": "alice",
  "slug": "default",
  "title": "Default",
  "icon": "*",
  "description": "Optional"
}

list_projects

{}

Artifact Tools

create_artifact

{
  "ownerUsername": "alice",
  "projectSlug": "default",
  "slug": "report",
  "type": "md",
  "title": "Report",
  "description": "Optional",
  "content": "# Report",
  "changelog": "Initial publish",
  "access": {
    "publicView": true,
    "publicEdit": false
  }
}

update_artifact

{
  "artifactId": "ARTIFACT_ID",
  "content": "# Report v2",
  "changelog": "Refresh",
  "expectedLatestVersion": 1
}

restore_artifact_version

{
  "artifactId": "ARTIFACT_ID",
  "versionNumber": 1
}

delete_artifact

{
  "artifactId": "ARTIFACT_ID"
}

get_artifact

{
  "artifactId": "ARTIFACT_ID"
}

get_artifact_content

{
  "artifactId": "ARTIFACT_ID",
  "versionNumber": 1
}
Omit versionNumber for the latest source.

list_artifacts

{}

list_workspace_artifacts

{
  "workspaceId": "WORKSPACE_ID"
}

list_artifact_versions

{
  "artifactId": "ARTIFACT_ID",
  "limit": 50
}
limit is optional and must be at most 100.

diff_artifact_versions

{
  "artifactId": "ARTIFACT_ID",
  "fromVersion": 1,
  "toVersion": 2
}

Access and Sharing Tools

get_artifact_access

{
  "artifactId": "ARTIFACT_ID"
}

set_artifact_access

{
  "artifactId": "ARTIFACT_ID",
  "access": {
    "publicView": false,
    "publicEdit": false,
    "viewerEmails": ["teammate@example.com"]
  }
}
{
  "artifactId": "ARTIFACT_ID",
  "role": "viewer",
  "expiresAt": "2026-06-30T12:00:00.000Z"
}
role defaults to viewer. Valid values are viewer and editor.
{
  "artifactId": "ARTIFACT_ID"
}
{
  "shareLinkId": "SHARE_LINK_ID"
}

Audit and Path Tools

list_audit_events

{
  "artifactId": "ARTIFACT_ID",
  "limit": 50
}
Omit artifactId to list account-level audit events for the authenticated user.

resolve_path

Resolve a project:
{
  "ownerUsername": "alice",
  "projectSlug": "default"
}
Resolve an artifact:
{
  "ownerUsername": "alice",
  "projectSlug": "default",
  "slug": "report"
}

Workspace and Principal Tools

get_current_principal

{}

list_workspaces

{}