5 ms·
I've been working on BLAH - Barely Logical Agent Host (https://github.com/thomasdavis/blah/blob/master/packages/cli/README.md https://github.com/thomasdavis/bla
by thomasfromcdnjs 2y ago
I've been working on BLAH - Barely Logical Agent Host (https://github.com/thomasdavis/blah/blob/master/packages/cli/README.md https://github.com/thomasdavis/blah/blob/master/packages/cli...) for the past few weeks.
It is essentially a standard (has a schema) that has an ecosystem of tools around it.
(completely opensource, no protocol/bridge lockin, no vendor/provider lockin, no ide/client/auton lockin, http/sse/jsonrpc/whatever, local/remote, composable)
So far I'm categorically calling MCP a "bridge", because BLAH supports other bridges such as SLOP (https://github.com/agnt-gg/slop/blob/main/README.md https://github.com/agnt-gg/slop/blob/main/README.md) and conceptually OpenAPI (or simply HTTP) is a bridge.
An example blah.json looks like this
"tools": [
{
"name": "jsonresume",
"bridge": "mcp",
"command": "npx -y @jsonresume/mcp@3.0.0",
},
{
"name": "slop_example",
"description": "Slop example",
"bridge": "slop",
"source": "https://ajax-valjs_slop_example.web.val.run"
},
{
"name": "normal_http_example",
"description": "Normal HTTP example",
"bridge": "openapi",
"source": "https:/example.com/openapi.json"
}
],
}
So blah can orchestra/compose any number of bridges, and it can list any tools it style/format of any bridge. (sorry that sounds so dumb)
For example, you can run `blah mcp start --config blah.json`, and add that to your cursor/claude mcp servers. When you fetch the tools, it loops over all your tools in your blah.json and fetches them whether it is an mcp server, slop server or openapi, it's agnostic and will return a full list of tools pulling from all bridges.
And then you can do `blah slop start`, which will do the same, but the opposite, start a slop server but it will boot up mcp servers and serve them over http too.
So essentially a bridge/protocol agnostic system, you ask for a list of tools, and it traverses everything that can list tools and splats them all together.
That's a little of the main pitch but there are larger plans to try build an ecosystem like npmjs where there is a public registry of any tool (which are just functions at the end of the day). Clouldflare AI team is really getting it right now (https://blog.cloudflare.com/remote-model-context-protocol-servers-mcp/ https://blog.cloudflare.com/remote-model-context-protocol-se...), most people would rather just tools being hosted for them, and workers is perfect for that.
It also means you just have to add one MCP server and use one configuration file to manage your tools. (Also has way more control over logging which MCP devs would love)
---
And that all maybe sounds complicated, but it's meant to make things A LOT easier. The README.md is horrible, just lots of random ideas and my comment isn't much better, but I'm aiming to have an alpha version in a week or so. Would absolutely love feedback!
4.5 Deep Research Report on BLAH - https://gist.github.com/thomasdavis/3827a1647533e488c107e64aefa54831 https://gist.github.com/thomasdavis/3827a1647533e488c107e64a...
- keithwhor 2y agoThis is very cool but definitely has the XKCD standards vibe [0]. If the industry is standardizing on MCP but then we decide it's not good enough, we just end up back where we started. I hope there's enough willpower (and low enough ego) to get to a really tight, single great implementation. [0] https://xkcd.com/927/ https://xkcd.com/927/
- namaria 2y agoComplete with the alt text mentioning USB, which is used in the MCP website to describe it. Someone else said it and I agree, it's not a good analogy. Most of what we do in software development is connecting things. Saying "this is like USB but for X" could cover a huge chunk of what software is. Besides, this "think of" analogies kinda irk me because I don't want you to give me a mental image you think I can digest, I want to know how it works. Abstractions in software are great and all but the fact that for some reason most explainers have decided they should be opaque is very unhelpful when you're trying to learn.
- soulofmischief 2y agoOnly a certain subset of developer spends most of their time "connecting things", and if that's the kind of developer you consider yourself, I'd be looking to either upskill or change professions as this will be the first kind of developer eliminated if we continue to see decent progress in automation.
- keithwhor 2y agoWould disagree there — system integration probably accounts for like 90% of development work; just at different layers of abstraction. It’s evergreen work that companies are endlessly trying to eliminate or automate yet keep running headfirst into.
- soulofmischief 2y agoI would still feel zero job security in such a position, and would be looking for work which is not only intellectually and creatively rewarding, but considerably more difficult to automate. Often this means becoming product-oriented or getting into leadership positions.