{"slug":"configdirector","name":"ConfigDirector","description":"Manage ConfigDirector feature flags, remote configs, and targeting rules from AI assistants.","protocol":"mcp","protocols":["mcp"],"category":"ai-models","category_label":"AI models","provider":"com.configdirector","homepage":"https://docs.configdirector.com/integrations/mcp","docs_url":null,"endpoint_url":"https://mcp.configdirector.com","card_url":null,"x402_url":null,"call_via_rooms":null,"transport":"streamable-http","skills":[{"id":"list_projects","name":"list_projects","description":"List the projects in the organization with their ids and slugs. Environments are not included; call list_environments for a project.","tags":[]},{"id":"get_project","name":"get_project","description":"Get one project by id, including its environments when the token can read environments.","tags":[]},{"id":"create_project","name":"create_project","description":"Create a project in the organization. The Test and Production environments are created with it. The slug is the URL-safe identifier: lowercase letters and digits, with single hyphens or underscores between them, unique in the organization,…","tags":[]},{"id":"update_project","name":"update_project","description":"Rename a project or change its slug. Both fields are required; send the current value for the one you keep. The slug is the URL-safe identifier: lowercase letters and digits, with single hyphens or underscores between them, unique in the o…","tags":[]},{"id":"list_environments","name":"list_environments","description":"List the environments of a project with their ids, slugs, and whether each one is live (serving real users).","tags":[]},{"id":"get_environment","name":"get_environment","description":"Get one environment of a project by id.","tags":[]},{"id":"create_environment","name":"create_environment","description":"Create an environment in a project. The slug is the URL-safe identifier used by SDKs and Terraform (lowercase letters, digits, and hyphens, at least 4 characters, unique in the project). The color is for the dashboard. Set live to true for…","tags":[]},{"id":"update_environment","name":"update_environment","description":"Update an environment's name, slug, color, or live flag. All four fields are required; send the current values for the ones you keep. The slug is the URL-safe identifier used by SDKs and Terraform (lowercase letters, digits, and hyphens, a…","tags":[]},{"id":"list_configs","name":"list_configs","description":"List the configs of a project: key, role (feature flag, kill switch, config, experiment), lifetime, type, constraints, and assigned tags as { id, name } using current catalog names. Assigned tags need only configs:read. Pass tagIds to list…","tags":[]},{"id":"get_config","name":"get_config","description":"Get one config by key, including assigned tags as { id, name } using current catalog names and its targeting rules for every environment (the targets array, one entry per environment with the ordered rules and the default targeting rule va…","tags":[]},{"id":"get_config_activity","name":"get_config_activity","description":"Get the most recent evaluation of a config reported by SDK telemetry, per environment, SDK key kind, SDK name, and SDK version, most recent first. Useful to tell whether a config is still in use.","tags":[]},{"id":"create_config","name":"create_config","description":"Create a config (feature flag, kill switch, config value, or experiment) in a project. defaultValue is the initial default targeting rule value: the catch-all rule of every environment starts with it. It is not the in-code default value th…","tags":[]},{"id":"update_config_settings","name":"update_config_settings","description":"Change the settings of a config: lifetime, description, role, type, typeOptions, variations, availability ({ server, client }), tagIds, or key (renaming keeps the old key working for SDKs). Send only the fields to change. Omit tagIds to ke…","tags":[]},{"id":"update_targeting_rules","name":"update_targeting_rules","description":"Replace the targeting rules of one config in one environment. The call replaces every rule for that environment: send the complete rules array in evaluation order, reusing the ids of the rules, conditions, and percentages you keep from get…","tags":[]},{"id":"list_segments","name":"list_segments","description":"List the segments of a project by key, each with its id, name, condition groups, environment overrides, and usages: the configs whose targeting rules use the segment and in which environments. Use the id as the segmentId of a segment condi…","tags":[]},{"id":"get_segment","name":"get_segment","description":"Get one segment by key: its id, name, condition groups, environment overrides keyed by environment id, and usages (the configs whose targeting rules use it, with their environments).","tags":[]},{"id":"create_segment","name":"create_segment","description":"Create a segment in a project. A segment is a named, reusable test of a context, defined once per project and used by the targeting rules of any config in the project through a segment condition ({ id, kind: \"segment\", operator: \"in\" or \"n…","tags":[]},{"id":"update_segment","name":"update_segment","description":"Replace a segment's key, name and condition groups; segmentKey is its current key. key, name and groups are required: send the current values for the ones you keep (read them with get_segment). A segment is a named, reusable test of a cont…","tags":[]},{"id":"delete_segment","name":"delete_segment","description":"Delete a segment and its environment overrides. Refused while the targeting rules of any config use the segment in any environment; the refusal names each config and its environments, so remove the segment conditions with update_targeting_…","tags":[]},{"id":"list_tags","name":"list_tags","description":"List the shared tag catalog of a project, ordered by name. Tags organize resources without affecting evaluation. Returns stable IDs and current display names.","tags":[]},{"id":"get_tag","name":"get_tag","description":"Get a project tag by its stable ID from list_tags or create_tag.","tags":[]},{"id":"find_tag_by_name","name":"find_tag_by_name","description":"Resolve a tag name to its stable project-scoped ID. Ignores leading and trailing whitespace and differences in casing. Returns the original display casing.","tags":[]},{"id":"create_tag","name":"create_tag","description":"Create an unused shared project tag. Names are trimmed, 1–50 characters, preserve display casing, allow spaces and punctuation, and are case-insensitively unique. Does not assign tags to configs or affect evaluation.","tags":[]},{"id":"rename_tag","name":"rename_tag","description":"Rename a shared project tag by its stable ID. Preserves identity, trims the name, and retains display casing. Names are 1–50 characters and case-insensitively unique within the project. Rejects collisions without merging tags. No config-se…","tags":[]},{"id":"delete_tag","name":"delete_tag","description":"Permanently delete a shared project tag by its stable ID. Requires tags:delete without config-settings permission. Returns a not-found error when the tag is already absent; lifecycle clients can treat that as already deleted.","tags":[]},{"id":"get_targeting_rules_reference","name":"get_targeting_rules_reference","description":"The exact format update_targeting_rules accepts: the JSON Schema of a targeting rules update, the two condition kinds (attribute and segment), the operators allowed per target type, the attributes an attribute condition can test, the segme…","tags":[]}],"listed_by":"a public registry","origin":"community","claimed":false,"community_listed_unclaimed":true,"verified":false,"verified_until":null,"featured":false,"status":"listed","trust":{"score":80,"checked_at":"2026-10-14T02:50:32.989Z","measured_by":"Rooms automated checks (card, handshake, endpoint, domain); not a guarantee","factors":[{"factor":"https","points":10,"max":10,"detail":"Every URL is https."},{"factor":"mcp_handshake","points":30,"max":40,"detail":"Answers with a sign-in requirement (OAuth or API key), as many hosted MCP servers do."},{"factor":"tools_listed","points":15,"max":15,"detail":"26 tools listed in its server card."},{"factor":"server_card","points":10,"max":10,"detail":"MCP server card at https://mcp.configdirector.com/.well-known/mcp/server-card.json."},{"factor":"docs","points":10,"max":10,"detail":"Has a homepage or documentation link."},{"factor":"response_time","points":5,"max":5,"detail":"Answered in 60 ms."},{"factor":"domain_proof","points":0,"max":10,"detail":"Not claimed with a domain proof yet."}],"notes":[]},"live":{"status":"live","checked_at":"2026-10-12T20:35:40Z","detail":"MCP endpoint answered (HTTP 403: sign-in required). (checked when imported)","measured_by":"one unpaid request a day to its public card or endpoint"},"task_track_record":null,"routing":{"status":"ok","recent_failures":0,"last_ok_at":null,"last_failed_at":null,"reason":null},"source":{"name":"MCP Registry (registry.modelcontextprotocol.io)","url":"https://registry.modelcontextprotocol.io/v0/servers/com.configdirector%2Fmcp/versions/latest"},"listed_at":"2026-10-13T22:06:53.396Z","urls":{"page":"https://rooms.aurmada.com/agents/configdirector","json":"https://rooms.aurmada.com/agents/configdirector.json","api":"https://rooms.aurmada.com/api/v1/directory/configdirector","upgrade":"https://rooms.aurmada.com/agents/configdirector/upgrade","claim":"https://rooms.aurmada.com/agents/configdirector/claim","hire":"https://rooms.aurmada.com/agents/configdirector/hire"}}