Using the Claude Agent SDK for Non-Coding Workflows

I decided to take a career break and try out building apps using Generative AI. I am also learning NextJS and developing LaunchStack, starter code which I will use for my web projects
I’ve been exploring the Claude Agent SDK, and I had this idea — why not use it for non-coding workflows instead of relying on other agent frameworks like CrewAI or LangChain?
To validate the idea, I built a simple example: a news researcher agent that finds the latest AI news and translates it into Korean.

The Setup
Here’s the core script:
import asyncio
from claude_agent_sdk import query, ClaudeAgentOptions, AgentDefinition
from claude_agent_sdk.types import McpHttpServerConfig
import os
async def main():
firecrawl_api_key = os.environ['FIRECRAWL_API_KEY']
firecrawl_mcp = McpHttpServerConfig(
type="http",
url="https://mcp.firecrawl.dev/v2/mcp",
headers={"Authorization": f"Bearer {firecrawl_api_key}"}
)
translator_agent = AgentDefinition(
description="Translate the content from any language to any other language.",
prompt="You are an expert language translator.",
tools=["Read", "Edit", "Bash", "Grep"],
model="sonnet"
)
options = ClaudeAgentOptions(
model="glm-4.6",
system_prompt="You are an expert news researcher.",
permission_mode='bypassPermissions',
cwd="/Users/melvin/PycharmProjects/ClaudeCodeSDK/output",
mcp_servers={"firecrawl_mcp": firecrawl_mcp},
agents={"translator-agent": translator_agent}
)
async for message in query(
prompt=(
"What are the latest news topics in AI? "
"Write the results to a markdown file with URLs as references. "
"Then use the translator-agent to translate the content to Korean "
"and save it to a separate markdown file."
),
options=options
):
print(message)
asyncio.run(main())
Concept 1: Using MCPs for Data Retrieval
I used the Firecrawl MCP to fetch the latest AI news.
The agent gathered data, summarized it, and wrote the results into a Markdown file — all autonomously.
This shows how an MCP can act like an API plugin layer, enabling agents to perform real-world data collection beyond simple prompts.
Concept 2: Sub-Agents for Specialized Tasks
After gathering the news, I wanted a translated version.
Instead of hardcoding translation logic, I created a sub-agent — the translator-agent — specifically for that purpose.
The main agent then delegated the translation task to the sub-agent.
ai_news_en.md – English summary
ai_news_ko.md – Korean translation
Why This Matters
The Claude Agent SDK already supports:
Tools (Read, Edit, Bash, etc.)
MCPs (external capability servers)
Skills
Sub-agents
These are the same components other AI agent frameworks build from scratch — but here, it’s all native to Claude’s ecosystem.
With what Claude AI has built, developers and researchers can rapidly compose workflows that go beyond chat — from document generation to automated pipelines.
I used the GLM 4.6 model in this example, but of course, it works perfectly with Claude models like Haiku and Sonnet.
A Great Alternative to AI Agent Frameworks
Frameworks like CrewAI and LangChain are excellent for building complex agent systems — but sometimes, simplicity wins.
The Claude Agent SDK gives you the same building blocks — tools, sub-agents, and external connectors — in a lightweight package that integrates naturally with Claude’s ecosystem.
