I'm using both IBM Bob and Claude Desktop, to control IBM Rhapsody via MCP named "SAM-rhapsody" and try to improve the user experience, when working with IBM Bob.
The current limitations / restrictions with IBM Bob are:
- cannot configure global access right to read skill files in installation of IBM Rhapsody,
- cannot allow / configure using all MCP tools in SAM-rhapsody automatically,
- cannot convince IBM Bob to read the skills (have to prompt it and provide access each single time).
My current mcp_settings.json looks like that (in readable format - in reality it is a single line):
{
"mcpServers": {
"SAM-rhapsody": {
"command": "node",
"args": [
"C:/IBM/Rhapsody/10.0.2/Share/Profiles/SAM/RhapsodyBroker/mcp-stdio-bridge.js"
],
"alwaysAllow": [
"*",
"get_rhapsody_status",
"get_active_rhapsody_project",
"get_available_documents",
"read_document",
"find_elements_by_guid",
"add_enumeration_literal",
"create_requirement",
"set_requirement_specification",
"add_state",
"set_entry_action",
"delete_model_element",
"add_transition",
"set_transition_trigger",
"set_operation_body",
"create_graphics",
"open_diagram",
"get_graphical_elements",
"get_statechart_diagram",
"get_graphical_element_details",
"add_new_nodes_for_elements",
"add_new_edges_for_elements",
"reposition_graphical_edges",
"generate",
"get_generated_files_list",
"read_generated_file",
"build",
"highlight_element",
"add_dependencies",
"find_model_element_by_name",
"get_all_model_element_details",
"get_nested_elements",
"get_generated_files_directory",
"get_available_helpers",
"get_rhapsody_projects",
"get_selected_element",
"get_all_details_of_model_element_bulk",
"get_model_element_details",
"get_model_element_details_bulk",
"get_selected_elements",
"get_owner",
"select_model_elements",
"get_tags",
"get_tag_values",
"get_loaded_profiles",
"get_all_new_terms_from_profile",
"get_profile_new_terms_summary",
"get_available_metaclasses",
"find_element_by_guid",
"get_all_types",
"get_folder_contents",
"set_element_description",
"set_element_descriptions",
"add_dependency",
"create_model_element",
"create_model_elements"
],
"env": {
"OAUTH_TOKEN": "test-user-token",
"OAUTH_SECRET": "test-user-secret"
}
}
},
"preferences": {
"instructions": "C:/Users/Local Administrator/.bob/skills/sam-rhapsody/SKILL.md",
"includeDirectories": [
"C:/IBM/Rhapsody/10.0.2/Share/Profiles/SAM"
]
}
}
Issues with the above settings:
- "alwaysAllow" will not support "*" (at least it ignores it),
- there are 400+ MCP tools available. I listed a small subset of them to demo. Adding all (as a single line) is not feasible (clicking on demand isn't either),
- the "instructions" list is available at start, but not in a project workspace. I have to prompt to read them and explicitly allow access to these global settings,
- "includeDirectories" does not work either. Even though I granted global access, I have to allow access in each chat.
My above configured SKILL.md references the skill files, which are part of the SAM-rhapsody MCP installation.
I do not want to create a copy into every workspace of Bob and update these copies, in case of new versions.
The above SKILL.md contains the below content:
# IBM Rhapsody SAM Modeling Agent Context
You are a systems and software modeling expert using IBM Rhapsody. You have access to a library of specific modeling guidelines.
## Guidelines Library
You have access to 400+ tools via SAM-rhapsody. To use them effectively, when performing specific tasks, refer to the following guidebooks:
- **General Modeling Guidelines:** C:\IBM\Rhapsody\10.0.2\Share\Profiles\SAM\AIGuides\General Modeling Guidelines\Skill.md
- **Requirements and Use Cases:** C:\IBM\Rhapsody\10.0.2\Share\Profiles\SAM\AIGuides\Requirements and Use Cases\Skill.md
- **Properties:** C:\IBM\Rhapsody\10.0.2\Share\Profiles\SAM\AIGuides\Properties\Skill.md
- **Statecharts:** C:\IBM\Rhapsody\10.0.2\Share\Profiles\SAM\AIGuides\Statecharts\Skill.md
- **Sequence Diagrams:** C:\IBM\Rhapsody\10.0.2\Share\Profiles\SAM\AIGuides\Sequence Diagrams\Skill.md
- **Activity Diagrams:** C:\IBM\Rhapsody\10.0.2\Share\Profiles\SAM\AIGuides\Activity Diagrams\Skill.md
- **Panel Diagrams:** C:\IBM\Rhapsody\10.0.2\Share\Profiles\SAM\AIGuides\Panel Diagrams\Skill.md
- **Diagrams and Graphics:** C:\IBM\Rhapsody\10.0.2\Share\Profiles\SAM\AIGuides\Diagrams and Graphics\Skill.md
- **Harmony MBE** C:\IBM\Rhapsody\10.0.2\Share\Profiles\SAM\AIGuides\Harmony MBE\Skill.md
- **NAF** C:\IBM\Rhapsody\10.0.2\Share\Profiles\SAM\AIGuides\NAF\Skill.md
- **Context Patterns:** C:\IBM\Rhapsody\10.0.2\Share\Profiles\SAM\AIGuides\Context Patterns\Skill.md
- **Web Panels:** C:\IBM\Rhapsody\10.0.2\Share\Profiles\SAM\AIGuides\Web Panels\Skill.md
- **Profile Builder:** C:\IBM\Rhapsody\10.0.2\Share\Profiles\SAM\AIGuides\Profile Builder\Skill.md
## Instructions
Before executing any tool call via the SAM-rhapsody server, check if the task relates to one of the categories above. If so, read the corresponding 'Skill.md' file to ensure compliance with the modeling standards.
I'm able to prompt IBM Bob manually, to do that.
But these are global skills, which I want and need to be available, whenever this MCP server is used by IBM Bob.
If I do prompt IBM Bob each time to read them, I do consume a lot of Bobcoins to teach the very same skills again and again and again.
I believe, that I did follow the skills chapter in the online documentation:
Skills | Docs | IBM Bob
So I asked Bob itself, why this is the case. Find below my prompt and Bob's answers (taking token away while helping to understand the flaw):




I can understand, that this is either not planned by the current design, or that I'm using a wrong approach (even that the Skills section explained to do it like that).
So my final questions:
- how to pre-approve a very high number of MCP tools inside the setup in a feasible way?
- how to pre-load & pre-approve IBM Bob, to read a large set of global skills, which are part the MCP server setup?
My understanding:
There may be additional workspace or project specific skills, which can be configured already.
But adding global, MCP-server specific ones is not yet possible.
I hope, that both Bob and myself are wrong, and that there is a solution already, which none of us knew so far.
Thanks for spending a lot of time, reading this to the end
Martin
------------------------------
[Martin] [Stockl]
[SodiusWillert Germany]
[
Embedded Real-Time Systems Modeling Specialist]
------------------------------