get_effective_profile
[SUPPORT] 0bec79a7 (PROFILE-5) — Read-only: resolve and return the MERGED profile for a project across every applicable layer — hosted_default -> workspace -> user -> project -> session, least to most specific (see meridian.db.profile_layers.get_effective_profile). The 'project' layer is syntheti...
This record as markdown: /tools/io-github-ajc3xc-meridian/get-effective-profile.md
What get_effective_profile does on Meridian
AI agents call get_effective_profile to retrieve information from Meridian without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id | string | — | |
session_id | string | — | Optional — also resolve this session's session-scoped layer. |
project_name | string | — | Project name — an alternative to project_id; resolved to the id internally. project_id wins if both are given. |
user_scope_id | string | — | Optional — a user/human id whose 'user' layer should be included in the merge. |
workspace_scope_id | string | — | Optional — defaults to 'singleton' (the self-host default workspace key). |
hosted_default_scope_id | string | — | Optional — defaults to 'global' (the self-host default hosted_default key). |
Parameters from the server's own tool schema.
Why get_effective_profile is rated Low
Even though get_effective_profile only reads data, uncontrolled read access leaks sensitive information and racks up API costs: an agent caught in a retry loop can make thousands of calls a minute without anyone noticing.
Risk signalsBulk/mass operation — affects multiple targets
Attacks that exploit this kind of access
The rule that runs get_effective_profile safely
PolicyLayer is an MCP gateway: it sits between your AI agents and Meridian, and checks every tool call against a rule you set before the call runs. Nothing changes on the server itself. For get_effective_profile, this is the rule to start with:
get_effective_profile is read-only, so it stays allowed. Everything else on the server is denied unless you say otherwise.
The button opens the PolicyLayer dashboard: create your workspace, connect Meridian, apply this rule, and every get_effective_profile call is checked against it from then on.
Questions about get_effective_profile
[SUPPORT] 0bec79a7 (PROFILE-5) — Read-only: resolve and return the MERGED profile for a project across every applicable layer — hosted_default -> workspace -> user -> project -> session, least to most specific (see meridian.db.profile_layers.get_effective_profile). The 'project' layer is synthetic: its 7 legacy ProjectSettings/executor_config fields come from the existing get_project_settings authority (zero duplication), and its 3 new fields (tool_priority_map, capability_manifest_ref, claim_verification_mode) come from the real profile_layers row. A hosted_default layer only applies when its lifecycle_state is 'active' or 'deprecated' — 'draft' and 'retired' never contribute fields but still mark the result degraded/not-executable via the returned executable/degraded/*_reasons fields. Pass session_id/user_scope_id to also fold in those layers; workspace_scope_id/hosted_default_scope_id default to 'singleton'/'global'. Returns {error} for an unknown project_id. It is categorised as a Read tool in the Meridian MCP Server, which means it retrieves data without modifying state.
get_effective_profile accepts 6 parameters: project_id, session_id, project_name, user_scope_id, workspace_scope_id, hosted_default_scope_id. The full parameter table on this page comes from the server's own tool schema.
Register the Meridian MCP server in PolicyLayer and add a rule for get_effective_profile: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Meridian. Nothing to install.
get_effective_profile is a Read tool with low risk. Read-only tools are generally safe to allow by default.
Yes. Add a rate_limit block to the get_effective_profile rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for get_effective_profile. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
get_effective_profile is provided by the Meridian MCP server (@meridianmcp/mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
More on Meridian, and thousands of servers like it.
This server
Across the catalogue