Skip to content

Story 5: MCP FlowFuse Tools #7667

Description

@andypalmi

This epic is the single source of truth for the MCP platform tool surface: what ships today and what is still to build. New tools are filed here.

Where we are

Surface Implemented Planned (specced, not built) Excluded by design
Platform tools 125 9 credential-issuing + admin (5.A / #7684)
Flow-building tools (in-editor) 28 none none
UI / navigation 3 none none
Total 156 9 n/a

Every read (-a) and non-destructive write (-b) scope has shipped except Team data & packages (5.12-b: databases/tables, shared library, git tokens), where only platform_create_database_table is in flight (open PR #8633) and the other three are not yet started. Deletes (-c) have shipped for every area except Team data & packages (5.12-c, not yet started). One read stays blocked (#8242). In short: agents can drive the whole build, operate and clean up surface today (create, configure and delete apps, instances, devices, snapshots, pipelines, device groups and broker topics/clients; remove team members and revoke invitations; run lifecycle actions and rollbacks; deploy pipeline stages), with the team data & packages writes and deletes still pending.

Status by area

Legend: R read · W write · D delete. Completed = closed sub-issues, To do = open.

Area Live today Still to build Completed To do
Instances (hosted + remote) all reads + 14 W + 4 D none 5.1 · 5.11-a · 5.1-b · 5.11-b · 5.1-c · 5.11 · 5.11-c none
Snapshots all reads + 5 W + 1 D none 5.2 · 5.2-a · 5.2-b · 5.2-c none
Applications all reads + 2 W + 1 D none 5.3 · 5.3-a · 5.3-b · 5.3-c none
Pipelines (DevOps) all reads + 5 W + 2 D none 5.5 · 5.5-a · 5.5-b · 5.5-c none
Device groups (fleet) all reads + 4 W + 1 D none 5.6 · 5.6-a · 5.6-b · 5.6-c none
Teams & membership all reads + 5 W + 2 D 1 R blocked 5.4-a · 5.4-b · 5.4-c 5.4 · 5.4-a.3
Team data & packages (tables, library, git, npm) all reads 4 W (1 in PR #8633) · 4 D 5.4-a.2 · 5.12-a 5.12 · 5.12-b · 5.12-b.1 · 5.12-c
Broker & MQTT all reads + 3 W + 2 D none 5.13-a · 5.13-b · 5.13-c 5.13
Notifications & self-service all reads + 3 W + 1 D none 5.9 · 5.9-a · 5.9-b · 5.9-c none
Bill of materials done (R only) none 5.7 none
Search done (R only) none 5.8 none
Platform catalog done (R + 1 W) none (writes are admin-only) 5.10 none
Billing dropped none 5.14 (not required) none

What's still to build (the open work)

Sibling actions are consolidated into one tool with an action/instanceType enum where they share a concept.

Teams & membership Blocked (R): platform_list_library_entries on #8242.

Team data & packages 5.12-b (W): platform_create_database_table (open PR #8633), platform_create_library_entry, platform_update_git_token, and platform_create_team_database (5.12-b.1). These are the last non-destructive writes; every other -b scope has shipped. Credential-issuing writes on these surfaces (npm/git token mint) stay excluded.

Team data & packages 5.12-c (D): platform_delete_database_table, platform_delete_team_database, platform_delete_library_entry, platform_delete_git_token.

Broker credential mint / password / 3rd-party register / raw fetch stay excluded (#7513). Password / MFA / account deletion / token management stay excluded.

What's already delivered

Merged to main. Reads are complete across every scope (the -a sub-issues), non-destructive writes across every scope except 5.12-b (the -b sub-issues), and deletes across every scope except 5.12-c (the -c sub-issues).

Instances 5.11-a (R) · 5.1-b / 5.11-b (W) · 5.1-c / 5.11-c (D): platform_list_hosted_instances, platform_get_hosted_instance, platform_get_hosted_instance_status, platform_get_hosted_instance_logs, platform_get_hosted_instance_resources, platform_get_hosted_instance_config, platform_get_hosted_instance_custom_hostname, platform_list_hosted_instance_files, platform_check_hosted_instance_name_availability, platform_list_team_dashboard_instances, platform_list_remote_instances, platform_get_remote_instance, platform_get_remote_instance_status, platform_list_team_provisioning_tokens, platform_list_instance_http_tokens, platform_get_instance_history, platform_get_instance_audit_log, platform_get_hosted_instance_editor_url, platform_get_hosted_instance_overview_url. (W): platform_create_hosted_instance, platform_create_remote_instance, platform_assign_remote_instance_to_application, platform_instance_action, platform_update_hosted_instance_env, platform_update_hosted_instance_settings, platform_import_hosted_instance_flows, platform_set_instance_config, platform_update_instance_file, platform_upload_instance_file, platform_create_instance_http_token, platform_update_instance_http_token, platform_update_remote_instance_settings, platform_set_remote_instance_mode. (D): platform_delete_instance, platform_rollback_hosted_instance, platform_delete_instance_file, platform_delete_instance_http_token.

Snapshots 5.2-a (R) · 5.2-b (W) · 5.2-c (D): platform_list_instance_snapshots, platform_get_snapshot, platform_get_snapshot_full, platform_get_hosted_instance_device_target_snapshot. (W): platform_create_instance_snapshot, platform_export_snapshot, platform_import_snapshot, platform_update_snapshot, platform_set_instance_device_target. (D): platform_delete_snapshot.

Applications 5.3-a (R) · 5.3-b (W) · 5.3-c (D): platform_list_applications, platform_get_application, platform_get_application_audit_log, platform_list_application_snapshots, platform_list_team_instance_statuses. (W): platform_create_application, platform_update_application. (D): platform_delete_application.

Pipelines 5.5-a (R) · 5.5-b (W) · 5.5-c (D): platform_list_pipelines, platform_get_pipeline_stage. (W): platform_deploy_pipeline_stage, platform_create_pipeline, platform_update_pipeline, platform_add_pipeline_stage, platform_update_pipeline_stage. (D): platform_delete_pipeline, platform_delete_pipeline_stage.

Device groups 5.6-a (R) · 5.6-b (W) · 5.6-c (D): platform_list_team_device_groups, platform_list_application_device_groups, platform_get_application_device_group. (W): platform_create_device_group, platform_update_device_group, platform_update_device_group_membership, platform_update_device_group_settings. (D): platform_delete_device_group.

Teams & membership 5.4-a (R) · 5.4-b (W) · 5.4-c (D): platform_list_teams, platform_get_team, platform_get_team_membership, platform_get_team_instance_counts, platform_list_team_members, platform_list_team_invitations, platform_get_team_audit_log, platform_list_team_npm_packages, platform_list_team_git_tokens. (W): platform_create_team, platform_update_team, platform_change_member_role, platform_invite_team_member, platform_resend_team_invitation. (D): platform_remove_team_member, platform_revoke_team_invitation.

FlowFuse Tables 5.4-a.2 (R): platform_list_team_databases, platform_get_team_database, platform_list_database_tables, platform_get_database_table, platform_query_database_table_data.

Broker & MQTT 5.13-a (R) · 5.13-b (W) · 5.13-c (D): platform_list_broker_clients, platform_get_broker_client, platform_list_brokers, platform_get_broker, platform_list_broker_topics, platform_get_broker_schema. (W): platform_broker_lifecycle_action, platform_create_broker_topic, platform_update_broker_topic. (D): platform_delete_broker_topic, platform_delete_broker_client.

Notifications & self-service 5.9-a (R) · 5.9-b (W) · 5.9-c (D): platform_get_active_user, platform_list_notifications, platform_list_own_invitations. (W): platform_set_notification_read_state, platform_respond_to_team_invitation, platform_update_profile. (D): platform_delete_notification.

Bill of materials 5.7 (R): platform_get_team_bill_of_materials, platform_get_application_bill_of_materials.

Search 5.8 (R): platform_search_team_resources, platform_search_instances.

Platform catalog 5.10 (R): platform_list_hosted_instance_types, platform_list_templates, platform_get_template, platform_list_blueprints, platform_get_blueprint, platform_list_team_types, platform_get_team_type, platform_list_browser_sessions, platform_get_active_browser_session. (W): platform_set_active_browser_session.

Beyond platform tools, all 28 flow-building (in-editor) and 3 UI/navigation tools are fully delivered.

Excluded by design (5.A / #7684)

Mapped so the decision stays reversible, deliberately not exposed as tools:

  • Platform admin: stats, license, announcements, settings, arbitrary-user CRUD, SSO providers (admin-role only).
  • Catalog writes: create/edit/delete stacks, templates, project-types, team-types, blueprints (admin only).
  • Credential-issuing: provisioning-token mint, broker credentials/passwords, npm/git token issuance, device credential regen, device tunnel/editor tokens, password/MFA/PAT self-management (escalation risk).
  • Runtime plumbing: device-agent live routes, Node-RED storage routes, internal registration endpoints (not user-facing).
  • Streaming: device log/resource streaming (MQTT streaming shape, not request/response).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

epicA significant feature or piece of work that doesn't easily fit into a single release

Type

No type

Projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions