loaditout.ai
SkillsPacksTrendingLeaderboardAPI DocsBlogSubmitRequestsCompareAgentsXPrivacyDisclaimer
{}loaditout.ai
Skills & MCPPacksBlog

claude-agent-sdk

MCP Tool

datashaman/claude-agent-sdk

PHP SDK for building autonomous agents powered by Claude

Install

$ npx loaditout add datashaman/claude-agent-sdk

Platform-specific configuration:

.claude/settings.json
{
  "mcpServers": {
    "claude-agent-sdk": {
      "command": "npx",
      "args": [
        "-y",
        "claude-agent-sdk"
      ]
    }
  }
}

Add the config above to .claude/settings.json under the mcpServers key.

About

Claude Agent SDK for PHP

PHP SDK for building autonomous agents powered by Claude. This is the PHP equivalent of the official TypeScript and Python SDKs.

Requirements
  • PHP 8.2+
  • Claude CLI installed and authenticated
Installation
composer require datashaman/claude-agent-sdk
Quick Start
Basic Query
use DataShaman\Claude\AgentSdk\Claude;

foreach (Claude::query('What is PHP?') as $message) {
    if ($message->type === 'content_block_delta' && isset($message->delta['text'])) {
        echo $message->delta['text'];
    }
}
Query with Options
use DataShaman\Claude\AgentSdk\Claude;
use DataShaman\Claude\AgentSdk\ClaudeAgentOptions;
use DataShaman\Claude\AgentSdk\Enum\PermissionMode;

$options = ClaudeAgentOptions::create()
    ->model('claude-sonnet-4-6')
    ->maxTurns(5)
    ->systemPrompt('You are a helpful PHP expert.')
    ->permissionMode(PermissionMode::AcceptEdits);

foreach (Claude::query('Explain generators', $options) as $message) {
    // Process streaming messages
}
Custom Tools

Define tools using PHP attributes:

use DataShaman\Claude\AgentSdk\Attribute\Tool;
use DataShaman\Claude\AgentSdk\Attribute\Parameter;
use DataShaman\Claude\AgentSdk\Claude;
use DataShaman\Claude\AgentSdk\ClaudeAgentOptions;

#[Tool(name: 'get_weather', description: 'Get current weather for a city')]
function getWeather(
    #[Parameter(description: 'City name')]
    string $city,
    #[Parameter(description: 'Temperature unit', enum: ['celsius', 'fahrenheit'])]
    string $unit = 'celsius',
): array {
    // Your weather API logic here
    return ['temp' => 22, 'unit' => $unit, 'city' => $city];
}

$options = ClaudeAgentOptions::create()
    ->tools(['getWeather']);

foreach (Claude::query('What is the weather in London?', $options) 

Tags

agentaianthropicclaudecomposerllmmcpphpsdkstreaming

Reviews

Loading reviews...

Quality Signals

0
Installs
Last updated19 days ago
Security: AREADME

Safety

Risk Levelmedium
Data Access
read
Network Accessnone

Details

Sourcegithub-crawl
Last commit3/25/2026
View on GitHub→

Embed Badge

[![Loaditout](https://loaditout.ai/api/badge/datashaman/claude-agent-sdk)](https://loaditout.ai/skills/datashaman/claude-agent-sdk)