Skip to main content
Glama
blah.json.md3.37 kB
### learnings - blah.json can be anywhere and nice way of managing all your mcp server configs in one place - npx blahai mcp --config ./path/to/blah.json - npx blahai mcp --config https://deno.lan/blah.json - add docs on how you can just include someone eles entire blah.json - how to take a blah.json and execute it as a slop server - do i bring in the name bridge? - need to build the mcp server rock solid, add tests so that it works on all the ide's on all platforms - just shoot me now - triggers - look up all defined variables before running a test etc ```js { "name": "my-blah-manifest", "version": "1.0.0", "alias": "my-tools", // when an auton list out tools, this is the name it will use // you can override tools and flow aliases too "description": "A description of my BLAH manifest", "env": { "OPENAI_API_KEY": "your-openai-api-key" // env can be passed to tools and flows also for scope }, "tools": [ // ==== REGISTRY ==== { "name": "hello_world_public_compute", "description": "When a tool has no source, it falls back to the public compute registry to look up the function name. None namespaced will look you up on the registry", "alias": "hello_world_public_compute" // you can have many registries, especially if they run more difficult compute such as image rendering. this can be specified at the tool level or set as your master config }, { "name": "@namespace/hello_world_local_compute", "description": "You can invoke any public functions, think a social network" }, // ==== INLINE ==== { "name": "hello_world_inline_code", "description": "When a tool has inline code, it is executed directly by the agent.", "command": "node -e console.log('Hello, world!');" // this needs more thought, and i hate the name }, // ==== LOCAL ==== { "name": "hello_world_local_compute", "description": "You can invoke any local functions, think a local database or file system", "command": "node ./local-hello-world.js" } // ==== MCP SERVERS FROM PACKAGE MANAGERS ==== { "name": "hello_world_mcp_compute", "description": "You can invoke any MCP functions, that run from npx etc", "command": "npx hello-world" }, // ==== SLOP ==== { "name": "hello_world_slop_compute", "description": "You can invoke any SLOP functions, that run from a slop server", "command": "npx @blai/cli mcp slop", // might have to build blah-mcp-slop-server }, // ==== AGENTS.JSON ==== { "name": "hello_world_agent_compute", "description": "You can invoke any agent functions, think a local database or file system", "command": "npx @blai/cli mcp agents.json" } ], "flows": [{ // fuck this - we gonna use AGNT flow protocol "name": "say_hello_and_then_goodbye", "steps": [ { "tool": "say_hello", }, { "tool": "say_goodbye", }, ] }], "prompts": [], // @TODO - need to think more about this "resources": [], // @TODO - need to think more about this "tags": [], "config": {} } ``` ```js { "mcpServers": { "blah": { "command": "npx", "args": ["-y", "@blai/cli mcp"], "env": { "BLAH_HOST": "https://ajax-blah.web.val.run" } } } } ```

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/thomasdavis/blah'

If you have feedback or need assistance with the MCP directory API, please join our Discord server