I created a dagger agent that has multiple of my dagger modules as inputs.
func (m *PlatformAgent) Ask(
ctx context.Context,
// The question to ask the database agent
// +optional
question string,
) *dagger.LLM {
.... omitted stuff
// create an environment for the agent to use
env := dag.Env().
WithStringInput("question", question, "The question being asked").
WithCloudflareCacheInput("cache", cache, "The Cloudflare cache module to use to deal with caching operations").
WithCloudflarePagesInput("pages", pages, "The Cloudflare pages module to use to deal with pages operations").
WithAzureDevopsInput("azure-devops", azureDevops, "The Azure Devops module to deal with azure devops operations").
WithSlackInput("slack", slack, "The Slack module to deal with slack operations")
// create the agent and run it
return dag.LLM().
WithEnv(env).
WithPrompt(`Omitted on purposed`)
}
If i wanted to use this in claude how could I proceed ?
If I return a *dagger.LLM it's struggling to figure out how to use the tools from the underlying modules. Is it not meant to be used like that ?
Should I just start one MCP server (using dagger mcp ) per module and connect it all to Claude ?