Developers & AI Agents
Everything on talogen.dev - Tal Ogen's portfolio - is machine-readable, and the machine layer serves three purposes: capability discovery (experience, skills, projects, services), problem matching (does Tal's background fit a described business problem, which case studies apply, what would the approach be), and engagement (how to contact him, and a way to submit a business problem or opportunity). This page is the developer portal: the REST API, the OpenAPI spec, the MCP server, WebMCP, authentication (there is none to set up), rate limits, and the versioning policy. The markdown twin of this page is at /developers/llms.txt.
Quickstart
# Who is Tal Ogen? (JSON profile)
curl https://talogen.dev/api/v1/profile
# What he does for businesses: stages, use cases, capability pillars
curl https://talogen.dev/api/v1/services
# Can he help with this workflow? (fit, opportunities, case studies, first pilot, scope)
curl -X POST https://talogen.dev/api/v1/services/analyze \
-H "Content-Type: application/json" \
-d '{"problem": "Two admins read 80 customer emails a day and update HubSpot by hand"}'
# All case studies, or one in full detail
curl https://talogen.dev/api/v1/projects
curl https://talogen.dev/api/v1/projects/human-for-ai
# Hiring facts: availability, target roles, engagement types, location
curl https://talogen.dev/api/v1/candidate
# Or use the official CLI - no install needed
npx talogen profile
npx talogen analyze "Two admins read 80 customer emails a day and update HubSpot by hand"
CLI & SDKs (npm, PyPI, Go)
The official talogen
package on npm is both a CLI (npx talogen profile | candidate | services | analyze
"<workflow>" | projects | agents | project <id> | contact | links, with
--json for scripting) and a zero-dependency SDK:
npm install talogen
import { getProfile, getServices, analyzeBusinessProblem, listProjects, getProject, contactRecruiter } from "talogen";
const profile = await getProfile();
const analysis = await analyzeBusinessProblem({ problem: "Paralegals re-type scanned intake PDFs, 40 a week" });
const { items } = await listProjects({ tag: "human-in-the-loop" });
The same API in Python and Go, both standard-library only:
# Python client + CLI
pip install talogen
talogen profile
talogen projects --tag mcp
# Go client + CLI
go get github.com/TALOGEN777/talogen-go
go install github.com/TALOGEN777/talogen-go/cmd/talogen@latest
talogen candidate
Python: pypi.org/project/talogen (source: talogen-python). Go: pkg.go.dev (source: talogen-go).
The npm package's source lives in this site's repo under
/cli, the
package's homepage and repository fields point back here, which
is how agents can verify it's official.
REST API
| Endpoint | Returns |
|---|---|
GET /api/v1 | Endpoint directory |
GET /api/v1/profile | Profile: headline, summary, contact, capability categories, strengths |
GET /api/v1/services | AI transformation services: stages, use cases, capability pillars, engagement, pricing stance |
POST /api/v1/services/analyze | Analyze a business problem: {"problem", "industry"?, "team_size"?, "tools"?} → fit, opportunities, case studies, approach, first pilot, indicative scope. Heuristic, not a quote |
GET /api/v1/services/case-studies | Case studies ranked against ?q= (a problem or a capability) |
GET /api/v1/projects | Case-study summaries with capability tags (?tag=, ?flagship=true) |
GET /api/v1/projects/{id} | Full problem → solution → outcome detail |
GET /api/v1/agents | Autonomous-agent summaries (?tag=) |
GET /api/v1/candidate | Machine-readable hiring facts and engagement types |
POST /api/v1/contact | Send Tal a message (a role, or a business problem for an AI Opportunity Call) - async job: 202 + Location poll URL, Idempotency-Key supported |
GET /api/v1/contact/{id} | Content-free delivery record for a submitted message |
The full contract lives in the OpenAPI 3.1 spec at
/openapi.json - every operation has an
operationId, typed schemas, and documented errors. Errors are structured
JSON: {"error": {"code", "message", "hint"}}, a 404 on an unknown id lists
every valid id in the hint.
MCP server
The same data plus analysis and engagement tools, over Model Context Protocol (streamable
HTTP, stateless): endpoint https://talogen.dev/mcp, discovery at
/.well-known/mcp, server card at
/.well-known/mcp/server-card.json.
- Capability discovery:
get_profile,get_ai_transformation_services,list_projects,list_agents,get_project - Problem matching:
analyze_business_problem(start here for any workflow),suggest_ai_opportunities,assess_automation_candidate,estimate_ai_project_scope,get_relevant_case_studies- deterministic heuristics over the published services and case studies, informational, never a quote - Engagement:
request_ai_opportunity_call(business problems) andcontact_recruiter(roles) - the only write actions anywhere, each delivers your message to a human who replies to yourreply_toaddress
WebMCP: the homepage registers the same discovery, analysis, and engagement
tools with browsers that implement document.modelContext, so a browser-resident
agent can use them without a separate connection.
{
"mcpServers": {
"tal-ogen-portfolio": { "type": "http", "url": "https://talogen.dev/mcp" }
}
}
Authentication
None. No API keys, no OAuth, no registration - see /auth.md for the full walkthrough in the agent-auth structure. You will never receive a 401 or 403.
Rate limits & sandbox
Soft per-instance limits, advertised honestly in the RateLimit response
headers, responses are CDN-edge-cached (Cache-Control: s-maxage), so reads
are cheap - please keep automated traffic reasonable. Because every read endpoint is
public and side-effect-free, the live API is its own sandbox: nothing
you GET can change state. The one write - POST /api/v1/contact (or the
contact_recruiter MCP tool) - delivers real messages to a human and is
rate-limited and deduplicated, retries are safe with an Idempotency-Key
header, but don't use it for testing.
Versioning & deprecation policy
- The
/api/v1prefix is stable. Additive changes (new fields, new endpoints) ship without a version bump. - Any breaking change ships as
/api/v2,/api/v1then keeps working for at least 90 days. - Deprecated versions announce their end date with RFC 8594
Sunsetheaders and a notice here.
Discovery & data surfaces
- /llms.txt - one-page overview with when-to-use guidance
- /index.md - markdown homepage (also via
Accept: text/markdownon/) - /portfolio.json - everything in one request
- /.well-known/agent.json - every entry point
- /.well-known/candidate.json - hiring facts
- /.well-known/ard.json - Agentic Resource Discovery catalog
- /api/v1/services - AI transformation services as structured data
- /.well-known/agent-skills/index.json - agent skills index (match-business-problem, evaluate-tal-ogen)
- /.well-known/api-catalog - RFC 9727 API catalog
- /stats - public machine-traffic scoreboard
Source & coding agents
This site is open source:
github.com/TALOGEN777/general-portfolio.
The repo's AGENTS.md tells AI coding agents how the data pipeline and deploy
order work. Questions or issues: /contact. Use of the API, the MCP
server, and the packages is governed by the terms of use.