{"users":[{"id":13,"username":"Pieter","name":"Pieter","avatar_template":"/user_avatar/support.tmssoftware.com/pieter/{size}/9242_2.png","primary_group_name":"tmssupport","flair_name":"tmssupport","flair_url":"star","flair_bg_color":"FFFFFF","flair_color":"41A1DF","flair_group_id":48,"admin":true,"moderator":true,"trust_level":4},{"id":5358,"username":"JL_Rocha","name":"JL Rocha","avatar_template":"/letter_avatar_proxy/v4/letter/j/a9a28c/{size}.png","trust_level":2},{"id":3,"username":"brunofierens","name":"Bruno Fierens","avatar_template":"/user_avatar/support.tmssoftware.com/brunofierens/{size}/8_2.png","primary_group_name":"tmssupport","flair_name":"tmssupport","flair_url":"star","flair_bg_color":"FFFFFF","flair_color":"41A1DF","flair_group_id":48,"admin":true,"moderator":true,"trust_level":4},{"id":9128,"username":"wenet","name":"support@wenet.biz","avatar_template":"/letter_avatar_proxy/v4/letter/w/87869e/{size}.png","trust_level":2},{"id":4046,"username":"Kossow_Roland","name":"Kossow Roland","avatar_template":"/letter_avatar_proxy/v4/letter/k/7feea3/{size}.png","trust_level":2},{"id":966,"username":"Riche_John","name":"JohnR","avatar_template":"/letter_avatar_proxy/v4/letter/r/b5e925/{size}.png","trust_level":2},{"id":11,"username":"Tunde","name":"Tünde Keller","avatar_template":"/user_avatar/support.tmssoftware.com/tunde/{size}/901_2.png","primary_group_name":"tmssupport","flair_name":"tmssupport","flair_url":"star","flair_bg_color":"FFFFFF","flair_color":"41A1DF","flair_group_id":48,"moderator":true,"trust_level":3},{"id":-1,"username":"system","name":"system","avatar_template":"/uploads/default/original/1X/5172aaaad1386c19963474a0f0d8445c488b02db.png","admin":true,"moderator":true,"trust_level":4},{"id":2553,"username":"Scomparin_Luca","name":"Scomparin Luca","avatar_template":"/letter_avatar_proxy/v4/letter/s/ce7236/{size}.png","trust_level":2},{"id":208,"username":"Freisinger_Arno","name":"Freisinger Arno","avatar_template":"/letter_avatar_proxy/v4/letter/f/a3d4f5/{size}.png","trust_level":2},{"id":5333,"username":"Eiszele_Daniel","name":"Eiszele Daniel","avatar_template":"/letter_avatar_proxy/v4/letter/e/7bcc69/{size}.png","trust_level":2},{"id":1988,"username":"Ridge_Rhonda","name":"Ridge Rhonda","avatar_template":"/letter_avatar_proxy/v4/letter/r/b5e925/{size}.png","trust_level":2},{"id":4072,"username":"Ridge_Rhonda1","name":"Ridge Rhonda","avatar_template":"/letter_avatar_proxy/v4/letter/r/7ab992/{size}.png","trust_level":2},{"id":522,"username":"Kounalakis_Dimitris","name":"Kounalakis Dimitris","avatar_template":"/user_avatar/support.tmssoftware.com/kounalakis_dimitris/{size}/1516_2.png","trust_level":2},{"id":909,"username":"Fab","name":"Fab","avatar_template":"/letter_avatar_proxy/v4/letter/f/51bf81/{size}.png","trust_level":2},{"id":6738,"username":"Maughan_Stephen","name":"Maughan Stephen","avatar_template":"/user_avatar/support.tmssoftware.com/maughan_stephen/{size}/5138_2.png","trust_level":2},{"id":5374,"username":"Alexander_Pastuhov","name":"Alexander Pastuhov","avatar_template":"/letter_avatar_proxy/v4/letter/a/7ab992/{size}.png","trust_level":2},{"id":5060,"username":"Bradley_Velghe1","name":"Bradley Velghe","avatar_template":"/letter_avatar_proxy/v4/letter/b/e9bcb4/{size}.png","primary_group_name":"tmssupport","flair_name":"tmssupport","flair_url":"star","flair_bg_color":"FFFFFF","flair_color":"41A1DF","flair_group_id":48,"moderator":true,"trust_level":2},{"id":9540,"username":"Peta_Cristian1","name":"Peta Cristian","avatar_template":"/letter_avatar_proxy/v4/letter/p/f14d63/{size}.png","trust_level":2},{"id":3649,"username":"Nurk_Peter","name":"Nürk Peter","avatar_template":"/letter_avatar_proxy/v4/letter/n/7ea924/{size}.png","trust_level":2},{"id":1550,"username":"Pierobon_Francesco_Pierobon","name":"Pierobon Francesco Pierobon","avatar_template":"/letter_avatar_proxy/v4/letter/p/a8b319/{size}.png","trust_level":2}],"primary_groups":[{"id":48,"name":"tmssupport"}],"flair_groups":[{"id":48,"name":"tmssupport","flair_url":"star","flair_bg_color":"FFFFFF","flair_color":"41A1DF"}],"topic_list":{"can_create_topic":false,"more_topics_url":"/c/developer-tools/tms-ai-studio/126?page=1","per_page":30,"top_tags":[{"id":132,"name":"ai","slug":"ai"},{"id":103,"name":"cloud-pack","slug":"cloud-pack"}],"topics":[{"fancy_title":"TMS AI Studio Resources","id":25677,"title":"TMS AI Studio Resources","slug":"tms-ai-studio-resources","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":"https://support.tmssoftware.com/uploads/default/optimized/2X/f/ff5ca028a2cb60f2f16eb00e5c00ac519a3cdfac_2_1024x576.jpeg","created_at":"2025-07-24T21:29:16.737Z","last_posted_at":"2025-07-24T21:29:16.922Z","bumped":true,"bumped_at":"2025-07-24T21:29:16.922Z","archetype":"regular","unseen":false,"pinned":true,"unpinned":null,"excerpt":"Rich Learning Resources\nTo help you get the most out of TMS AI Studio, we&#39;ve prepared an extensive collection of resources: \nBlogs\nStart reading our blogposts and get a head start using the TMS AI Studio. \nWhitepaper\nDow&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":162,"like_count":0,"has_summary":false,"last_poster_username":"Pieter","category_id":126,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":true,"can_vote":false,"posters":[{"extras":"latest single","description":"Original Poster, Most Recent Poster","user_id":13,"primary_group_id":48,"flair_group_id":48}]},{"fancy_title":"About the TMS AI Studio category","id":25657,"title":"About the TMS AI Studio category","slug":"about-the-tms-ai-studio-category","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":"https://support.tmssoftware.com/uploads/default/original/2X/4/426061bc80d285173a55de0e6e2c522447a2953d.png","created_at":"2025-07-22T14:24:00.793Z","last_posted_at":"2025-07-22T14:24:00.823Z","bumped":true,"bumped_at":"2025-07-22T14:25:27.473Z","archetype":"regular","unseen":false,"pinned":true,"unpinned":null,"excerpt":"Add AI superpower to your apps\nDon&#39;t get left behind! Effortlessly deliver state of the art intelligence in your own Delphi &amp; C++Builder applications. Enhance your apps with AI to analyse data &amp; generate data, allow A&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":47,"like_count":0,"has_summary":false,"last_poster_username":"Pieter","category_id":126,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":true,"can_vote":false,"posters":[{"extras":"latest single","description":"Original Poster, Most Recent Poster","user_id":13,"primary_group_id":48,"flair_group_id":48}]},{"fancy_title":"TMS AI Studio - SystemRole is silently dropped when Service = aiClaude","id":27186,"title":"TMS AI Studio - SystemRole is silently dropped when Service = aiClaude","slug":"tms-ai-studio-systemrole-is-silently-dropped-when-service-aiclaude","posts_count":3,"reply_count":0,"highest_post_number":3,"image_url":null,"created_at":"2026-08-06T09:20:26.365Z","last_posted_at":"2026-08-11T06:28:50.273Z","bumped":true,"bumped_at":"2026-08-11T06:28:50.273Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"I am using TMS AI Studio v1.7.4.0. \nThe content of the SystemRole property is never sent to the Anthropic API when \nthe service is Claude. No error, no warning: the request succeeds and the model \nsimply runs with no sys&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":27,"like_count":0,"has_summary":false,"last_poster_username":"JL_Rocha","category_id":126,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":true,"can_vote":false,"posters":[{"extras":"latest","description":"Original Poster, Most Recent Poster","user_id":5358,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":3,"primary_group_id":48,"flair_group_id":48}]},{"fancy_title":"Don&#39;t work with local Ollama","id":27178,"title":"Don't work with local Ollama","slug":"dont-work-with-local-ollama","posts_count":10,"reply_count":2,"highest_post_number":10,"image_url":null,"created_at":"2026-07-31T07:34:18.710Z","last_posted_at":"2026-08-10T13:59:22.814Z","bumped":true,"bumped_at":"2026-08-10T13:59:22.814Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Versione installata (v1.7.4.1)\nVersione installata di Ollama  (ultima)\nmodello Ollama (qwen3.5:9b, ~40s di risposta)\nerrore esatto {&quot;error&quot;:&quot;invalid character &#39;:&#39; after object key:value pair&quot;}\nTMSMCPCloudAI non espone u&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":41,"like_count":0,"has_summary":false,"last_poster_username":"brunofierens","category_id":126,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":true,"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":9128,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":3,"primary_group_id":48,"flair_group_id":48}]},{"fancy_title":"TMS AI MCP Roadmap?","id":27177,"title":"TMS AI MCP Roadmap?","slug":"tms-ai-mcp-roadmap","posts_count":2,"reply_count":0,"highest_post_number":2,"image_url":null,"created_at":"2026-07-29T21:53:06.146Z","last_posted_at":"2026-07-30T06:20:49.789Z","bumped":true,"bumped_at":"2026-07-30T06:20:49.789Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"The 2026-07-28 MCP Specification Release Candidate | Model Context Protocol Blog \nFirst of all, thanks for adding MCP support to TMS. It&#39;s great to see that interoperability is already part of the platform. \nI&#39;ve been re&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":31,"like_count":1,"has_summary":false,"last_poster_username":"brunofierens","category_id":126,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":true,"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":4046,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":3,"primary_group_id":48,"flair_group_id":48}]},{"fancy_title":"Streamable HTTP MCP transport raises EThread during application finalization","id":27157,"title":"Streamable HTTP MCP transport raises EThread during application finalization","slug":"streamable-http-mcp-transport-raises-ethread-during-application-finalization","posts_count":10,"reply_count":2,"highest_post_number":14,"image_url":null,"created_at":"2026-07-23T13:51:53.813Z","last_posted_at":"2026-07-29T09:32:49.409Z","bumped":true,"bumped_at":"2026-07-29T09:32:49.409Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"We use TTMSMCPServer with TTMSMCPStreamableHttpTransport. When the server is destroyed during Delphi unit finalization, TTMSMCPWinHTTPServer.StopServer raises: \nEThread: The handle is invalid (6) \nStack: \nTTMSMCPWinHTTPS&hellip;","visible":true,"closed":true,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":60,"like_count":0,"has_summary":false,"last_poster_username":"Tunde","category_id":126,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":true,"can_have_answer":true,"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":966,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster, Accepted Answer","user_id":11,"primary_group_id":48,"flair_group_id":48},{"extras":null,"description":"Frequent Poster","user_id":-1,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"URL reservation check repeatedly triggers UAC/netsh","id":27158,"title":"URL reservation check repeatedly triggers UAC/netsh","slug":"url-reservation-check-repeatedly-triggers-uac-netsh","posts_count":4,"reply_count":0,"highest_post_number":4,"image_url":null,"created_at":"2026-07-23T14:07:08.979Z","last_posted_at":"2026-07-29T09:32:13.192Z","bumped":true,"bumped_at":"2026-07-29T09:32:13.192Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"TTMSMCPWinHTTPServer.IsUrlReserved repeatedly launches elevated netsh even when the exact URL ACL already exists: \nhttp://+:8934/\n\nHttpQueryServiceConfiguration can return either ERROR_INSUFFICIENT_BUFFER or ERROR_MORE_D&hellip;","visible":true,"closed":true,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":31,"like_count":0,"has_summary":false,"last_poster_username":"Tunde","category_id":126,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":true,"can_have_answer":true,"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":966,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster, Accepted Answer","user_id":11,"primary_group_id":48,"flair_group_id":48},{"extras":null,"description":"Frequent Poster","user_id":-1,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Does this support chat conversations ?","id":25869,"title":"Does this support chat conversations ?","slug":"does-this-support-chat-conversations","posts_count":6,"reply_count":1,"highest_post_number":6,"image_url":null,"created_at":"2025-09-03T12:55:23.823Z","last_posted_at":"2026-07-27T10:13:29.714Z","bumped":true,"bumped_at":"2026-07-27T10:13:29.714Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"I might have overlooked the demos but I can&#39;t see any sample which implement a chat similar to the DelphiOpenAI component: GitHub - HemulGM/DelphiOpenAI: OpenAI (and DeepSeek, Azure OpenAI, YandexGPT, Ollama, GigaChat, Q&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":149,"like_count":0,"has_summary":false,"last_poster_username":"brunofierens","category_id":126,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":true,"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":966,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":3,"primary_group_id":48,"flair_group_id":48}]},{"fancy_title":"TTMSMCPCloudAI token count only reports the last tool call","id":27141,"title":"TTMSMCPCloudAI token count only reports the last tool call","slug":"ttmsmcpcloudai-token-count-only-reports-the-last-tool-call","posts_count":4,"reply_count":1,"highest_post_number":4,"image_url":null,"created_at":"2026-07-17T07:04:11.706Z","last_posted_at":"2026-07-23T11:50:45.674Z","bumped":true,"bumped_at":"2026-07-23T11:50:45.674Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Hi, \nI noticed a possible issue with the token usage reported by TTMSMCPCloudAI when an OpenAI conversation involves one or more tool calls. \nAt the end of the conversation, the component appears to report only the numbe&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":32,"like_count":0,"has_summary":false,"last_poster_username":"brunofierens","category_id":126,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":true,"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":2553,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":3,"primary_group_id":48,"flair_group_id":48}]},{"fancy_title":"Add support to Claude sonnet-5 model","id":27106,"title":"Add support to Claude sonnet-5 model","slug":"add-support-to-claude-sonnet-5-model","posts_count":2,"reply_count":0,"highest_post_number":2,"image_url":null,"created_at":"2026-07-01T06:59:07.164Z","last_posted_at":"2026-07-01T08:52:03.001Z","bumped":true,"bumped_at":"2026-07-01T08:52:03.001Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"The new Sonnet 5 model does not accept the parameter temperature, returning a 400 error. \nAccording to Anthropic: \nSampling parameters deprecated: Setting temperature, top_p, or top_k to any non-default value on Sonnet 5&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":99,"like_count":0,"has_summary":false,"last_poster_username":"brunofierens","category_id":126,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":true,"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":5358,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":3,"primary_group_id":48,"flair_group_id":48}]},{"fancy_title":"Connect to LM Studio","id":26975,"title":"Connect to LM Studio","slug":"connect-to-lm-studio","posts_count":3,"reply_count":0,"highest_post_number":3,"image_url":null,"created_at":"2026-05-17T20:42:19.716Z","last_posted_at":"2026-05-23T03:18:39.759Z","bumped":true,"bumped_at":"2026-05-23T03:18:39.759Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"how i can connect lmstudio (NOT olama), i wont select the installed models. Sample Code?","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":68,"like_count":1,"has_summary":false,"last_poster_username":"Eiszele_Daniel","category_id":126,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":true,"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":208,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":3,"primary_group_id":48,"flair_group_id":48},{"extras":"latest","description":"Most Recent Poster","user_id":5333,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Add support to pdf files in mistral","id":26927,"title":"Add support to pdf files in mistral","slug":"add-support-to-pdf-files-in-mistral","posts_count":5,"reply_count":1,"highest_post_number":5,"image_url":null,"created_at":"2026-04-30T10:00:18.892Z","last_posted_at":"2026-05-15T08:53:03.080Z","bumped":true,"bumped_at":"2026-05-15T08:53:03.080Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Mistral already has support to send pdf files, accessing the service with API key. \nI insert this line in the TTMSMCPCloudAI.BuildPostData method of TMS.MCP.CloudAI unit, and it works: \naiftPDF: AUserContentParts := AUse&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":59,"like_count":0,"has_summary":false,"last_poster_username":"brunofierens","category_id":126,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":true,"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":5358,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":3,"primary_group_id":48,"flair_group_id":48}]},{"fancy_title":"Function Calling and DoExecuted event with Claude API","id":26940,"title":"Function Calling and DoExecuted event with Claude API","slug":"function-calling-and-doexecuted-event-with-claude-api","posts_count":4,"reply_count":1,"highest_post_number":4,"image_url":null,"created_at":"2026-05-06T11:07:19.115Z","last_posted_at":"2026-05-11T12:43:38.868Z","bumped":true,"bumped_at":"2026-05-11T12:43:38.868Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"I use TTMSMCPCloudAIService component. \nI am testing function calling with Claude API. The function calls work correctly, but the DoExecuted event is fired while there are tools not executed already. I would like to use &hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":44,"like_count":0,"has_summary":false,"last_poster_username":"brunofierens","category_id":126,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":true,"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":5358,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":3,"primary_group_id":48,"flair_group_id":48}]},{"fancy_title":"FNCCloudAI issues","id":26859,"title":"FNCCloudAI issues","slug":"fnccloudai-issues","posts_count":6,"reply_count":2,"highest_post_number":6,"image_url":null,"created_at":"2026-04-10T15:52:37.342Z","last_posted_at":"2026-05-06T11:50:02.648Z","bumped":true,"bumped_at":"2026-05-06T11:50:02.648Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Hi we are using the ai component talking to openai within our application. \nWe are using the assistants api when combining requests with files. \nWe are are using tools also, including an email tool we have written. \nWe h&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[{"id":103,"name":"cloud-pack","slug":"cloud-pack"},{"id":132,"name":"ai","slug":"ai"}],"tags_descriptions":{},"views":66,"like_count":0,"has_summary":false,"last_poster_username":"brunofierens","category_id":126,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":true,"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":1988,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":4072,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":3,"primary_group_id":48,"flair_group_id":48}]},{"fancy_title":"TTMSMCPCloudAI and Claude API token usage","id":26932,"title":"TTMSMCPCloudAI and Claude API token usage","slug":"ttmsmcpcloudai-and-claude-api-token-usage","posts_count":2,"reply_count":0,"highest_post_number":2,"image_url":null,"created_at":"2026-05-04T12:04:51.655Z","last_posted_at":"2026-05-04T14:00:38.817Z","bumped":true,"bumped_at":"2026-05-04T14:00:38.817Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"I use TTMSMCPCloudAIService component of TMS AI Studio 1.7.0.0, with Claude API to extract invoice data from an invoice file. I would like to know the token usage for Claude API requests. \nAccording to TMS documentation &hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":27,"like_count":0,"has_summary":false,"last_poster_username":"brunofierens","category_id":126,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":true,"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":5358,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":3,"primary_group_id":48,"flair_group_id":48}]},{"fancy_title":"Disable thinking part in response","id":26763,"title":"Disable thinking part in response","slug":"disable-thinking-part-in-response","posts_count":7,"reply_count":3,"highest_post_number":7,"image_url":null,"created_at":"2026-03-14T10:48:16.143Z","last_posted_at":"2026-04-29T15:42:56.175Z","bumped":true,"bumped_at":"2026-04-29T15:42:56.175Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"How can I disable to receive the thinking part of the response when connecting to Ollama? \nEven when using a model that has disabled the thinking in the Modelfile of Ollama, I am still receiving thinking when using the T&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":130,"like_count":1,"has_summary":false,"last_poster_username":"Kounalakis_Dimitris","category_id":126,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":true,"can_vote":false,"posters":[{"extras":"latest","description":"Original Poster, Most Recent Poster","user_id":522,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":3,"primary_group_id":48,"flair_group_id":48}]},{"fancy_title":"Informaniak AI services","id":26918,"title":"Informaniak AI services","slug":"informaniak-ai-services","posts_count":2,"reply_count":0,"highest_post_number":2,"image_url":null,"created_at":"2026-04-27T14:58:19.977Z","last_posted_at":"2026-04-27T19:00:25.202Z","bumped":true,"bumped_at":"2026-04-27T19:00:25.202Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Hello, \nWould it be possible to add Infomaniak AI services in a future version? (OpenAI-compatible API) \n\n\nThank you,","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":25,"like_count":0,"has_summary":false,"last_poster_username":"brunofierens","category_id":126,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":true,"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":909,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":3,"primary_group_id":48,"flair_group_id":48}]},{"fancy_title":"TTMSMCPCloudAI synchronous call","id":26888,"title":"TTMSMCPCloudAI synchronous call","slug":"ttmsmcpcloudai-synchronous-call","posts_count":3,"reply_count":1,"highest_post_number":3,"image_url":null,"created_at":"2026-04-20T09:37:42.316Z","last_posted_at":"2026-04-23T07:39:50.273Z","bumped":true,"bumped_at":"2026-04-23T07:39:50.273Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"I use TTMSMCPCloudAI component with Claude API to extract invoice data from an invoice file. \nCurrently the TTMSMCPCloudAI component is on our frontend application. \nBut I would like to move TTMSMCPCloudAI component to o&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":33,"like_count":0,"has_summary":false,"last_poster_username":"JL_Rocha","category_id":126,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":true,"can_vote":false,"posters":[{"extras":"latest","description":"Original Poster, Most Recent Poster","user_id":5358,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":3,"primary_group_id":48,"flair_group_id":48}]},{"fancy_title":"Local AI Context","id":26899,"title":"Local AI Context","slug":"local-ai-context","posts_count":3,"reply_count":1,"highest_post_number":3,"image_url":null,"created_at":"2026-04-22T07:18:20.392Z","last_posted_at":"2026-04-22T10:33:03.852Z","bumped":true,"bumped_at":"2026-04-22T10:33:03.852Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"My testing and googling suggest that the answer is no but I wanted to confirm it with the hive mind. Can a local LLM with vision capabilities run the ocr demo. I have tested in ollama and lm studio (llama.cpp) running re&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":73,"like_count":0,"has_summary":false,"last_poster_username":"Eiszele_Daniel","category_id":126,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":true,"can_vote":false,"posters":[{"extras":"latest","description":"Original Poster, Most Recent Poster","user_id":5333,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":3,"primary_group_id":48,"flair_group_id":48}]},{"fancy_title":"Structured Output?","id":25912,"title":"Structured Output?","slug":"structured-output","posts_count":4,"reply_count":1,"highest_post_number":4,"image_url":null,"created_at":"2025-09-09T18:02:14.399Z","last_posted_at":"2026-04-20T14:40:54.370Z","bumped":true,"bumped_at":"2026-04-20T14:40:54.370Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Hi Bruno — are there any plans to support structured output? \nhttps://docs.x.ai/docs/guides/structured-outputs \nMost applications need to know how the data is coming back. It seems like a logical thing to support, but I &hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":63,"like_count":0,"has_summary":false,"last_poster_username":"brunofierens","category_id":126,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":true,"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":6738,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":3,"primary_group_id":48,"flair_group_id":48}]},{"fancy_title":"Error in TTMSMCPCloudAIService when uploading a png image to Claude API","id":26876,"title":"Error in TTMSMCPCloudAIService when uploading a png image to Claude API","slug":"error-in-ttmsmcpcloudaiservice-when-uploading-a-png-image-to-claude-api","posts_count":2,"reply_count":0,"highest_post_number":2,"image_url":null,"created_at":"2026-04-15T10:04:07.679Z","last_posted_at":"2026-04-15T13:02:52.275Z","bumped":true,"bumped_at":"2026-04-15T13:02:52.275Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"I use TTMSMCPCloudAIService component with Claude API to extract data from an invoice file. \nWhen I try to upload a png image to Claude API, I get the following error \n{&quot;type&quot;:&quot;error&quot;,&quot;error&quot;:{&quot;type&quot;:&quot;invalid_request_err&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":34,"like_count":0,"has_summary":false,"last_poster_username":"brunofierens","category_id":126,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":true,"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":5358,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":3,"primary_group_id":48,"flair_group_id":48}]},{"fancy_title":"Some changes proposed","id":26823,"title":"Some changes proposed","slug":"some-changes-proposed","posts_count":4,"reply_count":1,"highest_post_number":5,"image_url":null,"created_at":"2026-03-29T18:54:23.348Z","last_posted_at":"2026-03-30T13:05:39.549Z","bumped":true,"bumped_at":"2026-03-30T13:05:39.549Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Some models (I use local ones) may frequently use different parameter name capitalization, so it needs to be made case-insensitive, so I had to change this method in Tools: \nfunction TTMSMCPTool.SetArgs(AParams: TJSONObj&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":38,"like_count":0,"has_summary":false,"last_poster_username":"Alexander_Pastuhov","category_id":126,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":true,"can_vote":false,"posters":[{"extras":"latest","description":"Original Poster, Most Recent Poster","user_id":5374,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":5060,"primary_group_id":48,"flair_group_id":48}]},{"fancy_title":"Optional tools parameters with OpenAI","id":26753,"title":"Optional tools parameters with OpenAI","slug":"optional-tools-parameters-with-openai","posts_count":2,"reply_count":0,"highest_post_number":4,"image_url":null,"created_at":"2026-03-12T09:09:05.411Z","last_posted_at":"2026-03-13T14:12:15.042Z","bumped":true,"bumped_at":"2026-03-13T14:12:15.042Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"With OpenAI it seams that I can not set optional parameters because: \n\n&quot;additionalProperties&quot;: false is hardcoded for OpenAI and will enter strict mode (all parameters are required)\nI can not set multiple parameter types&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":32,"like_count":0,"has_summary":false,"last_poster_username":"brunofierens","category_id":126,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":true,"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":9540,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":3,"primary_group_id":48,"flair_group_id":48}]},{"fancy_title":"Subject: MCP stdio transport corrupts non-ASCII characters (UTF-8 Mojibake) in tool call arguments","id":26756,"title":"Subject: MCP stdio transport corrupts non-ASCII characters (UTF-8 Mojibake) in tool call arguments","slug":"subject-mcp-stdio-transport-corrupts-non-ascii-characters-utf-8-mojibake-in-tool-call-arguments","posts_count":2,"reply_count":0,"highest_post_number":3,"image_url":null,"created_at":"2026-03-12T15:19:08.703Z","last_posted_at":"2026-03-13T08:34:25.271Z","bumped":true,"bumped_at":"2026-03-13T08:34:25.271Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Product: TMS AI Studio 1.6.0.0 Component: MCP Server / stdio transport Delphi version: Delphi 11 \nWhen using TMS AI Studio to implement an MCP server with stdio transport, string parameters passed by the AI client (Claud&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":58,"like_count":0,"has_summary":false,"last_poster_username":"Bradley_Velghe1","category_id":126,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":true,"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":3649,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":5060,"primary_group_id":48,"flair_group_id":48}]},{"fancy_title":"handling tools request","id":25793,"title":"handling tools request","slug":"handling-tools-request","posts_count":13,"reply_count":8,"highest_post_number":14,"image_url":null,"created_at":"2025-08-16T06:17:38.361Z","last_posted_at":"2026-03-09T08:48:51.465Z","bumped":true,"bumped_at":"2026-03-09T08:48:51.465Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Tool handlers have &quot;function (const Args: array of TValue): TValue&quot; signature and a tool can have a dozen of parameters, half of which may be optional. So, I&#39;m trying to scroll through Args to find which values were actu&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":154,"like_count":0,"has_summary":false,"last_poster_username":"Bradley_Velghe1","category_id":126,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":true,"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":5374,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":3,"primary_group_id":48,"flair_group_id":48},{"extras":null,"description":"Frequent Poster","user_id":9540,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":5060,"primary_group_id":48,"flair_group_id":48}]},{"fancy_title":"Tools and tools params Description should be JSON encoded","id":26746,"title":"Tools and tools params Description should be JSON encoded","slug":"tools-and-tools-params-description-should-be-json-encoded","posts_count":2,"reply_count":0,"highest_post_number":2,"image_url":null,"created_at":"2026-03-09T07:06:33.645Z","last_posted_at":"2026-03-09T08:45:13.395Z","bumped":true,"bumped_at":"2026-03-09T08:45:13.395Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"TTMSMCPCloudAITool.Description and TTMSMCPCloudAIParameter.Description are not JSON encoded and land directly in Request.PostData \nI used quotation marks in tool parameters Description. \nTool := ACloudAI.Tools.Add; \nPara&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":20,"like_count":0,"has_summary":false,"last_poster_username":"Peta_Cristian1","category_id":126,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":true,"can_vote":false,"posters":[{"extras":"latest single","description":"Original Poster, Most Recent Poster","user_id":9540,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"TMS AI (TMSMCPCloudAI) + IntraWeb 16.0.10 ISAPI.dll – UploadFile hangs (Standalone works)","id":26712,"title":"TMS AI (TMSMCPCloudAI) + IntraWeb 16.0.10 ISAPI.dll – UploadFile hangs (Standalone works)","slug":"tms-ai-tmsmcpcloudai-intraweb-16-0-10-isapi-dll-uploadfile-hangs-standalone-works","posts_count":6,"reply_count":0,"highest_post_number":6,"image_url":null,"created_at":"2026-03-03T16:46:36.039Z","last_posted_at":"2026-03-05T13:53:03.188Z","bumped":true,"bumped_at":"2026-03-05T13:53:03.188Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Hi, \nI’m using IntraWeb 16.0.10 and testing TMS AI (MCP Cloud AI) with the TMSMCPCloudAI component. \nI noticed a problem when running the application in ISAPI.dll mode. \nIn Standalone mode everything works correctly, inc&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":39,"like_count":0,"has_summary":false,"last_poster_username":"Pierobon_Francesco_Pierobon","category_id":126,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":true,"can_vote":false,"posters":[{"extras":"latest","description":"Original Poster, Most Recent Poster","user_id":1550,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":3,"primary_group_id":48,"flair_group_id":48}]},{"fancy_title":"TTMSMCPCloudAI.FBusyCount is not decremented after tools call","id":26711,"title":"TTMSMCPCloudAI.FBusyCount is not decremented after tools call","slug":"ttmsmcpcloudai-fbusycount-is-not-decremented-after-tools-call","posts_count":4,"reply_count":0,"highest_post_number":4,"image_url":null,"created_at":"2026-03-03T16:30:24.716Z","last_posted_at":"2026-03-04T10:59:02.170Z","bumped":true,"bumped_at":"2026-03-04T10:59:02.170Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"When tool calls happen, the original TTMSMCPCloudAI.FBusyCount is incremented but never decremented — DoExecuted is skipped some lines bellow because lToolReq = true, and the recursive FToolsRequest instance decrements i&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":25,"like_count":1,"has_summary":false,"last_poster_username":"brunofierens","category_id":126,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":true,"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":9540,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":3,"primary_group_id":48,"flair_group_id":48}]},{"fancy_title":"Bug in TMS.MCP.TOOLS","id":26706,"title":"Bug in TMS.MCP.TOOLS","slug":"bug-in-tms-mcp-tools","posts_count":2,"reply_count":0,"highest_post_number":3,"image_url":null,"created_at":"2026-03-02T09:56:35.937Z","last_posted_at":"2026-03-02T10:19:02.401Z","bumped":true,"bumped_at":"2026-03-02T10:19:02.401Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Row 702 \n      for J := 0 to Prop.ArrayItemProperties.Count - 1 do\n      begin\n        ItemProp := Prop.ArrayItemProperties[I];       //Bug: I must be J\n        ItemPropObj := TJSONObject.Create;\n        ItemPropObj.AddP&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":54,"like_count":0,"has_summary":false,"last_poster_username":"Bradley_Velghe1","category_id":126,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":true,"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":3649,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":5060,"primary_group_id":48,"flair_group_id":48}]},{"fancy_title":"OpenAI with Toolset return &quot;No tool call found for function call output&quot;","id":26621,"title":"OpenAI with Toolset return \"No tool call found for function call output\"","slug":"openai-with-toolset-return-no-tool-call-found-for-function-call-output","posts_count":2,"reply_count":0,"highest_post_number":2,"image_url":null,"created_at":"2026-02-06T17:00:40.642Z","last_posted_at":"2026-02-13T09:17:17.079Z","bumped":true,"bumped_at":"2026-02-13T09:17:17.079Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Hello, \nSame like FNC Cloud Pack \nToolset with OpenAI, since last version 1.5.1.0 on Delphi 11.3 or 12.3 (Win32 VCL), return this error : \nHTTP Status code: 400 : {\n  &quot;error&quot;: {\n    &quot;message&quot;: &quot;No tool call found for fun&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":65,"like_count":0,"has_summary":false,"last_poster_username":"brunofierens","category_id":126,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":true,"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":909,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":3,"primary_group_id":48,"flair_group_id":48}]}]}}