Foundry. Context
(foundry v0.1.3)
Copy Markdown
Ash domain exposing Foundry project context as MCP tools.
This domain bridges the existing Mix tasks (mix foundry.project.status,
mix foundry.context, mix foundry.project.context, mix foundry.lint.all,
and spec-kit document reads) through Ash resources so they can be exposed as
MCP tools via AshAi.Mcp.Router.
Tools
The tools block declares which resource actions are callable by AI agents
through the MCP interface. Each tool maps to an Ash action on a resource
using Ash.DataLayer.Simple — no database is involved.
MCP Resources
Static spec-kit documents (AGENTS.md, ADR index) are exposed as MCP resources so agents can read them directly without going through tool calls.
ADR
ADR-024 — MCP Server Architecture.
Summary
Functions
avg(query, field, opts \\ [])
deprecated
avg!(query, field, opts \\ [])
deprecated
calculate(resource, calculation, opts \\ [])
deprecated
count(query, opts \\ [])
deprecated
count!(query, opts \\ [])
deprecated
create(changeset, opts \\ [])
deprecated
create!(changeset, opts \\ [])
deprecated
destroy(record, opts \\ [])
deprecated
destroy!(record, opts \\ [])
deprecated
exists(query, opts \\ [])
deprecated
exists?(query, opts \\ [])
deprecated
first(query, field, opts \\ [])
deprecated
first!(query, field, opts \\ [])
deprecated
get(resource, id_or_filter, opts \\ [])
deprecated
get!(resource, id_or_filter, opts \\ [])
deprecated
list(query, field, opts \\ [])
deprecated
list!(query, field, opts \\ [])
deprecated
load(data, query, opts \\ [])
deprecated
load!(data, query, opts \\ [])
deprecated
max(query, field, opts \\ [])
deprecated
max!(query, field, opts \\ [])
deprecated
min(query, field, opts \\ [])
deprecated
min!(query, field, opts \\ [])
deprecated
page(page, request)
deprecated
page!(page, request)
deprecated
read(query, opts \\ [])
deprecated
read!(query, opts \\ [])
deprecated
read_one(query, opts \\ [])
deprecated
read_one!(query, opts \\ [])
deprecated
reload(record, opts \\ [])
deprecated
reload!(record, opts \\ [])
deprecated
run_action(input, opts \\ [])
deprecated
run_action!(input, opts \\ [])
deprecated
stream!(query, opts \\ [])
deprecated
sum(query, field, opts \\ [])
deprecated
sum!(query, field, opts \\ [])
deprecated
update(changeset, opts \\ [])
deprecated
update!(changeset, opts \\ [])
deprecated
Functions
This function is deprecated. Use `Ash.aggregate/3` instead.
This function is deprecated. Use `Ash.aggregate!/3` instead.
This function is deprecated. Use `Ash.avg/3` instead.
This function is deprecated. Use `Ash.avg!/3` instead.
This function is deprecated. Use `Ash.bulk_create/4` instead.
This function is deprecated. Use `Ash.bulk_create!/4` instead.
This function is deprecated. Use `Ash.bulk_destroy/4` instead.
This function is deprecated. Use `Ash.bulk_destroy!/4` instead.
This function is deprecated. Use `Ash.bulk_update/4` instead.
This function is deprecated. Use `Ash.bulk_update!/4` instead.
This function is deprecated. Use `Ash.calculate/3` instead.
This function is deprecated. Use `Ash.calculate!/3` instead.
This function is deprecated. Use `Ash.can/3` instead.
@spec can( action_or_query_or_changeset :: Ash.Query.t() | Ash.Changeset.t() | {Ash.Resource.t(), atom() | Ash.Resource.Actions.action()}, actor :: term(), opts :: Keyword.t() ) :: {:ok, boolean() | :maybe} | {:ok, true, Ash.Changeset.t() | Ash.Query.t()} | {:ok, true, Ash.Changeset.t(), Ash.Query.t()} | {:ok, false, Exception.t()} | {:error, term()}
This function is deprecated. Use `Ash.can?/3` instead.
@spec can?( query_or_changeset_or_action :: Ash.Query.t() | Ash.Changeset.t() | {Ash.Resource.t(), atom() | Ash.Resource.Actions.action()}, actor :: term(), opts :: Keyword.t() ) :: boolean() | no_return()
This function is deprecated. Use `Ash.count/2` instead.
This function is deprecated. Use `Ash.count!/2` instead.
This function is deprecated. Use `Ash.create/2` instead.
This function is deprecated. Use `Ash.create!/2` instead.
This function is deprecated. Use `Ash.destroy/2` instead.
This function is deprecated. Use `Ash.destroy!/2` instead.
This function is deprecated. Use `Ash.exists/2` instead.
This function is deprecated. Use `Ash.exists?/2` instead.
This function is deprecated. Use `Ash.first/3` instead.
This function is deprecated. Use `Ash.first!/3` instead.
This function is deprecated. Use `Ash.get/3` instead.
This function is deprecated. Use `Ash.get!/3` instead.
This function is deprecated. Use `Ash.list/3` instead.
This function is deprecated. Use `Ash.list!/3` instead.
This function is deprecated. Use `Ash.load/3` instead.
This function is deprecated. Use `Ash.load!/3` instead.
This function is deprecated. Use `Ash.max/3` instead.
This function is deprecated. Use `Ash.max!/3` instead.
This function is deprecated. Use `Ash.min/3` instead.
This function is deprecated. Use `Ash.min!/3` instead.
This function is deprecated. Use `Ash.page/2` instead.
This function is deprecated. Use `Ash.page!/2` instead.
This function is deprecated. Use `Ash.read/2` instead.
This function is deprecated. Use `Ash.read!/2` instead.
This function is deprecated. Use `Ash.read_one/2` instead.
This function is deprecated. Use `Ash.read_one!/2` instead.
This function is deprecated. Use `Ash.reload/2` instead.
This function is deprecated. Use `Ash.reload!/2` instead.
This function is deprecated. Use `Ash.run_action/2` instead.
This function is deprecated. Use `Ash.run_action/2` instead.
This function is deprecated. Use `Ash.stream!/2` instead.
This function is deprecated. Use `Ash.sum/3` instead.
This function is deprecated. Use `Ash.sum!/3` instead.
This function is deprecated. Use `Ash.update/2` instead.
This function is deprecated. Use `Ash.update!/2` instead.