[{"data":1,"prerenderedAt":443},["ShallowReactive",2],{"project-43243893":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":33,"aspects":34,"strip":43,"post_text":45,"what":46,"said":98,"maker_in_thread":230,"shape":243,"grid":247,"attempts":400,"same_week":405,"maker_shows":32,"maker_hidden":435,"reader_version":436,"card":437},"43243893","Agents.json","OpenAPI Specification for LLMs","title","Show HN: Agents.json – OpenAPI Specification for LLMs","https:\u002F\u002Fgithub.com\u002Fwild-card-ai\u002Fagents-json","github.com","yompal",1741021319,2025,212,69,293,3837,8,"notable","ai","agent tooling specification","library",[24,25,26,27],"llm api integration","openapi","ai agents","tool calling","curious",0.036,{"positive":18,"neutral":31,"mixed":32,"critical":18},21,1,38,{"docs":35,"idea":36,"pricing":39,"performance":41,"execution":42},{"positive":32,"critical":32},{"positive":37,"critical":38},4,3,{"positive":40,"critical":32},0,{"positive":40,"critical":40},{"positive":40,"critical":40},[38,40,38,38,32,44,38,32,32,38,40,38,44,38,38,38,38,38,40,44,32,44,38,38,38,40,44,38,40,38,38,38,40,38,32,44,40,38,38,32],5,"Hey HN, we’re building an open specification that lets agents discover and invoke APIs with natural language, built on the OpenAPI standard. agents.json clearly defines the contract between LLMs and API as a standard that's open, observable, and replicable. Here’s a walkthrough of how it works: https:\u002F\u002Fyoutu.be\u002Fkby2Wdt2Dtk?si=59xGCDy48Zzwr7ND.\n\nThere’s 2 parts to this:\n\n1. An agents.json file describes how to link API calls together into outcome-based tools for LLMs. This file sits alongside an OpenAPI file.\n\n2. The agents.json SDK loads agents.json files as tools for an LLM that can then be e",{"problem":47,"audience":56,"pricing":65,"motivation":77,"time_to_build":81,"stack":82,"openness":95,"stage":96,"team_size":97},{"value":48,"source":49,"evidence":50},"LLMs select and call REST API endpoints poorly; the API spec in context gives poor tool selection and calling accuracy","maker",[51,53],{"id":52},"post",{"id":54,"by":11,"text":55},"43246509","LLMs do well with outcome-described tools and APIs are written as resource-based atomic actions. By describing an API as a collection of outcomes, LLMs don't need to re-reason…",{"value":57,"source":49,"evidence":58},"Agent developers and API providers",[59,62],{"id":60,"by":11,"text":61},"43246569","We work with API providers to write this file. It takes a non-negligible amount of thought to put together since we're encoding which outcomes would be useful to enable\u002Fdisable…",{"id":63,"by":11,"text":64},"43258114","Not ignorant at all! This is our favorite question. MCP is taking a stateful approach, where every client maintains a 1:1 connection with a server. This means that for each…",{"value":66,"source":49,"evidence":67},"Free to developers; SDK is AGPL, spec is Apache 2.0; business model to charge API providers",[68,71,74],{"id":69,"by":11,"text":70},"43244387","We think the main opportunity is to charge API providers, to get white-gloved onto this standard.",{"id":72,"by":11,"text":73},"43245066","Yup. The specification is under Apache 2.0 and the Python package is under AGPL. The full licenses can be found here: https:\u002F\u002Fdocs.wild-card.ai\u002Fabout\u002Flicenses",{"id":75,"by":11,"text":76},"43250305","The tail of the problem is quite long. Even if the average model is perfect at these things, do we want them to re-reason each time there's an impasse of outcomes? Often, the…",{"value":78,"source":49,"evidence":79},"Developers have to hand-build APIs for LLMs; APIs are designed for developers, not LLMs",[80],{"id":52},null,[83,91],{"value":84,"source":85,"evidence":86},"Python","commenter",[87],{"id":88,"by":89,"text":90},"43244998","pritambarhate","What's the license of the Python package: https:\u002F\u002Fpypi.org\u002Fproject\u002Fagentsjson\u002F AGPL? https:\u002F\u002Fgithub.com\u002Fwild-card-ai\u002Fagents-json\u002Fblob\u002Fmaster\u002FLICENSE",{"value":92,"source":49,"evidence":93},"OpenAPI",[94],{"id":52},"open_source","launched","company",{"praise":99,"objections":118,"requests":156,"questions":176,"alternatives":206},[100,111],{"value":101,"source":85,"evidence":102},"Good direction; wants a protocol to win the agent API space",[103,107],{"id":104,"by":105,"text":106},"43247767","thomasfromcdnjs","I've been following agents.json for a little while. I think it has legs, and would love to see some protocol win this space soon. Will be interesting to see where the state\u002Fless…",{"id":108,"by":109,"text":110},"43254940","jimmySixDOF","Agents.json and LLM.txt files could be simple de-factos like robot.txt and I hope something takes off. CrewAI or Letta\u002FMemGPT or OpenHands\u002FOpenDevin all have some kind of swarm…",{"value":112,"source":85,"evidence":113},"Simpler than alternatives",[114],{"id":115,"by":116,"text":117},"43245239","luke-stanley","This could be more simple, which is a good thing, well done! BTW I might have found a bug in the info property title in the spec: \"MUST provide the title of the `agents.json`…",[119,130,141,149],{"value":120,"source":85,"evidence":121},"AGPL license blocks adoption",[122,126],{"id":123,"by":124,"text":125},"43255086","cruffle_duffle","AGPL is a great way to prevent people from adopting it.",{"id":127,"by":128,"text":129},"43246159","bberenberg","Cool idea but seems to be dead on arrival due to licensing. Would love to have the team explain how anyone can possibly adopt their agpl package into their product.",{"value":131,"source":85,"evidence":132},"Unclear business model and who pays for the standard",[133,137],{"id":134,"by":135,"text":136},"43254749","dkdcwashere","can’t an AI just take an OpenAPI spec and throw it into this standard? if it’s an open source standard, who’s paying for that?",{"id":138,"by":139,"text":140},"43250250","jeffrsch","I've been down this road - with OpenPlugin. It's all technically feasible - we did it successfully. The question is, so what? If the new models can zero-shot the API call and fix…",{"value":142,"source":85,"evidence":143},"Docs hard to follow; no example agents.json visible",[144,148],{"id":145,"by":146,"text":147},"43244506","melvinmelih","This is interesting but why do you make it so hard to view the actual agents.json file? After clicking around in the registry (https:\u002F\u002Fwild-card.ai\u002Fregistry) for 10 minutes I…",{"id":104,"by":105,"text":106},{"value":150,"source":85,"evidence":151},"Providers must write the file; onboarding burden",[152],{"id":153,"by":154,"text":155},"43247156","TZubiri","So,the api provider, like stripe, is supposed to publish a second API? And then the \"end developer\" who is going to be making a chatbot\u002Fagent, is supposed to use that to make a…",[157,167,172],{"value":158,"source":85,"evidence":159},"Permissive license",[160,163],{"id":161,"by":11,"text":162},"43246657","A couple people have mentioned some relevant things in this thread. This SDK isn't meant to be restrictive. This can be implemented into other open-source frameworks as a…",{"id":164,"by":165,"text":166},"43248154","Onawa","Elastic License V2? https:\u002F\u002Fwww.elastic.co\u002Flicensing\u002Felastic-license",{"value":168,"source":85,"evidence":169},"Clearer docs and example schema",[170,171],{"id":104,"by":105,"text":106},{"id":145,"by":146,"text":147},{"value":173,"source":85,"evidence":174},"Tool to generate agents.json from OpenAPI",[175],{"id":104,"by":105,"text":106},[177,192,199],{"value":178,"source":85,"evidence":179},"How it differs from MCP",[180,184,188],{"id":181,"by":182,"text":183},"43244443","sandinmyjoints","Looks cool! How is it similar\u002Fdifferent from MCP?",{"id":185,"by":186,"text":187},"43244622","tsunego","I like your approach but it's not clear to me whether it's MCP compatible Anthropic just announced a MCP registry",{"id":189,"by":190,"text":191},"43251589","linux_devil","Pardon my ignorance , how is it different from MCP servers and having a supervisor agent selecting and executing the right MCP tool",{"value":193,"source":85,"evidence":194},"How it differs from Arazzo",[195],{"id":196,"by":197,"text":198},"43244738","winkle","In what ways is the agents.json file different from an OpenAPI Arazzo specification? Is it more native for LLM use? Looking at the example, I'm seeing similar concepts between…",{"value":200,"source":85,"evidence":201},"Why not just use OpenAPI directly",[202],{"id":203,"by":204,"text":205},"43246039","alooPotato","Can some help me understand why agents can't just use APIs documented by an openapi spec? Seems to work well in my own testing but I'm sure I'm missing something.",[207,215,219,223],{"value":208,"source":85,"evidence":209},"MCP",[210,211],{"id":181,"by":182,"text":183},{"id":212,"by":213,"text":214},"43253730","Blahah","Hmm but the OpenAPI MVP server just exposes the commands for each API it knows about to the agent - then the MCP server makes stateless API calls. Problem solved. MCP isn't…",{"value":216,"source":85,"evidence":217},"OpenAPI-to-MCP servers",[218],{"id":212,"by":213,"text":214},{"value":220,"source":85,"evidence":221},"Arazzo",[222],{"id":196,"by":197,"text":198},{"value":224,"source":85,"evidence":225},"llms.txt",[226],{"id":227,"by":228,"text":229},"43246984","sidhusmart","How does this compare to llms.txt? I think that’s also emerging as a sort of standard to let LLMs understand APIs. I guess agents.json does a better packaging\u002F structural…",{"comments":231,"answered":232,"key":233},28,17,[234,237,240],{"id":235,"text":236},"43248043","1) Thanks for being a part of the journey! We also want something that works for us as agent developers. We didn't feel like anything else was addressing this problem and felt…",{"id":238,"text":239},"43244829","We've been in touch with Arazzo after we learned of the similarities. The long-term goal is to be aligned with Arazzo. However, the tooling around Arazzo isn't there today and we…",{"id":241,"text":242},"43245344","It's not that Arazzo can't work for LLMs, just that it's not the primary use case. We want to add LLM enabled transformations between linkages. Arazzo having to serve other use…",{"commenters":244,"max_depth":245,"maker_replies":231,"first_comment_mins":244,"lifespan_hours":246},29,6,203,[248,250,252,255,257,258,260,261,264,267,270,272,273,275,277,278,282,285,286,287,289,291,294,295,297,299,300,304,307,309,312,314,316,319,320,322,324,326,329,330,332,334,336,340,341,346,348,350,352,354,356,359,361,363,365,369,371,374,376,377,379,383,388,390,391,392,394,396,397],[104,40,38,249,105,40],"project\u002Fmixed\u002Fdocs",[235,40,40,251,11,32],"maker\u002Fneutral\u002Fnone",[253,40,40,254,105,40],"43248776","commenter\u002Fneutral\u002Fnone",[196,32,38,256,197,40],"project\u002Fneutral\u002Fidea",[238,32,40,256,11,32],[259,32,38,256,197,40],"43245070",[241,32,40,256,11,32],[145,262,32,263,146,40],2,"project\u002Fcritical\u002Fdocs",[265,262,40,266,11,32],"43244546","maker\u002Fneutral\u002Fdocs",[268,262,44,269,146,40],"43245191","maker\u002Fpositive\u002Fnone",[88,38,38,271,89,40],"project\u002Fneutral\u002Fnone",[72,38,40,271,11,32],[123,38,32,274,124,40],"project\u002Fcritical\u002Fnone",[276,38,40,271,11,32],"43258710",[127,37,32,274,128,40],[279,37,38,280,281,40],"43246240","project\u002Fneutral\u002Fpricing","froggertoaster",[283,37,38,271,284,40],"43246576","favorited",[161,37,40,271,11,32],[164,37,38,271,165,40],[288,37,40,271,11,32],"43248210",[115,44,44,290,116,40],"project\u002Fpositive\u002Fdocs",[292,44,40,293,11,32],"43245564","project\u002Fneutral\u002Fdocs",[227,245,38,256,228,40],[296,245,40,256,11,32],"43247022",[203,298,38,256,204,40],7,[54,298,40,256,11,32],[301,298,38,302,303,40],"43248254","project\u002Fneutral\u002Fperformance","ahamilton454",[305,298,38,256,306,40],"43248413","paradite",[308,298,40,256,11,32],"43249267",[310,298,40,311,306,40],"43249949","other\u002Fneutral\u002Fnone",[313,298,38,256,105,40],"43250830",[315,298,40,256,11,32],"43250998",[317,298,44,318,204,40],"43301699","project\u002Fpositive\u002Fidea",[181,18,38,256,182,40],[321,18,40,256,11,32],"43244577",[212,18,32,323,213,40],"project\u002Fcritical\u002Fidea",[325,18,44,318,213,40],"43256415",[327,328,38,280,303,40],"43244328",9,[69,328,40,280,11,32],[134,328,32,331,135,40],"project\u002Fcritical\u002Fpricing",[108,333,44,318,109,40],10,[335,333,40,256,11,32],"43258078",[337,338,38,256,339,40],"43246337",11,"ripped_britches",[60,338,40,256,11,32],[342,343,44,344,345,40],"43249233",12,"project\u002Fpositive\u002Fnone","codenote",[347,343,40,251,11,32],"43249281",[185,349,38,256,186,40],13,[351,349,40,256,11,32],"43244692",[353,349,40,311,197,40],"43244786",[355,349,40,256,11,32],"43244921",[357,349,38,256,358,40],"43246193","esafak",[360,349,40,256,11,32],"43247254",[362,349,38,256,358,40],"43247332",[364,349,40,256,11,32],"43247429",[366,367,38,256,368,40],"43258213",14,"barbazoo",[370,367,40,256,11,32],"43258914",[372,373,38,293,154,40],"43246674",15,[375,373,40,293,11,32],"43246757",[153,373,32,323,154,40],[378,373,40,271,11,32],"43247395",[380,373,38,381,382,40],"43248454","project\u002Fneutral\u002Fexecution","doomroot",[384,385,44,386,387,40],"43263277",16,"maker\u002Fpositive\u002Fidea","dshah",[389,385,40,269,11,32],"43339950",[189,232,38,256,190,40],[63,232,40,318,11,32],[393,232,44,344,190,40],"43263060",[138,395,32,323,139,40],18,[75,395,40,318,11,32],[398,395,32,399,139,40],"43254428","maker\u002Fcritical\u002Fnone",[401,404],{"id":402,"t":403,"points":37,"comments":40},"43130410",1740159370,{"id":4,"t":12,"points":14,"comments":15},[406,411,416,421,426,431],{"id":407,"name":408,"points":409,"category":410},"43255529","Bayleaf",735,"hardware",{"id":412,"name":413,"points":414,"category":415},"43223718","Berlin Swapfest",308,"web_saas",{"id":417,"name":418,"points":419,"category":420},"43230994","Kaguya",254,"productivity",{"id":422,"name":423,"points":424,"category":425},"43242818","Foudinge",201,"data",{"id":427,"name":428,"points":429,"category":430},"43196374","Superglue",198,"infrastructure",{"id":432,"name":433,"points":434,"category":20},"43269330","pokerl",183,false,"v2",{"id":438,"name":5,"line":6,"ai":435,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":439,"top":18,"kw":440,"maker":11,"domain":10,"tier":19,"attempts":262,"strip":441,"url":9,"mix":442,"praise":101,"objection":120,"sub":21},43243893,0.04,[24,25,26,27],"3033153113035333330515333053033303150331",[18,31,32,18],1794036670642]