{"id":2870,"date":"2025-11-10T22:17:24","date_gmt":"2025-11-11T04:17:24","guid":{"rendered":"https:\/\/bijoos.com\/oraclenotes\/?p=2870"},"modified":"2026-02-07T15:20:53","modified_gmt":"2026-02-07T21:20:53","slug":"optimizing-oracle-database-experience-with-sqlcl-and-claude-desktop","status":"publish","type":"post","link":"https:\/\/bijoos.com\/oraclenotes\/2025\/2870\/","title":{"rendered":"Optimizing Oracle Database Experience with SQLCL and Claude Desktop"},"content":{"rendered":"\n<p>Today, I experimented with the MCP server setup for the Oracle database using SQLCL. I want to thank Kris Rice and Jeff Smith for <a href=\"https:\/\/blogs.oracle.com\/database\/post\/introducing-mcp-server-for-oracle-database\">previously <\/a>sharing information about this feature; I finally found some time to try it out. My background is in SQL, PL\/SQL, and Oracle Database from a developer&#8217;s perspective, so I needed to spend some time to understand Claude Desktop, VS Code, etc. Here\u2019s a step-by-step account of what I did. I used an Oracle AI Database, but you can use any version of the Oracle database since we are not utilizing any built-in AI functionality.<\/p>\n\n\n\n<p class=\"is-style-text-subtitle\"><strong>Set up the environment<\/strong><\/p>\n\n\n\n<p>My PDB name is PDB261. Schema name is DVDRENT. Data loaded from <a href=\"https:\/\/github.com\/ogobrecht\/sample-data-sets-for-oracle\">https:\/\/github.com\/ogobrecht\/sample-data-sets-for-oracle<\/a> <\/p>\n\n\n\n<p>I am comfortable using Windows, so my client machine runs on Windows while my database is hosted on a Linux server.<\/p>\n\n\n\n<p>Downloaded and installed the following:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.oracle.com\/java\/technologies\/downloads\/#jdk21-windows\">JDK 21<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.oracle.com\/database\/sqldeveloper\/technologies\/sqlcl\/download\/\">SQLcl<\/a> latest &#8211; uncompressed the folder to c:\\tools\\sqlcl. Also added &#8220;C:\\tools\\sqlcl\\bin&#8221; directory to %PATH% (local environment variable)<\/li>\n\n\n\n<li><a href=\"https:\/\/www.claude.com\/download\">Claude Desktop<\/a> &#8211; Used my Google account to sign-in and register for the free account. <\/li>\n<\/ul>\n\n\n\n<p class=\"is-style-default\"><strong>SQLcl Configuration<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Verify SQLcl is working<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code>C:\\Users\\opc&gt;sql -version\n\nSQLcl: Release 25.3.1.0 Production Build: 25.3.1.311.1257<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Save credentials in SQLcl<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code>C:\\Users\\opc&gt;sql -save mcp_dvdrent -savepwd dvdrent\/#######@\/\/NN.NN.NN.NN:1521\/PDB261\n\nSQLcl: Release 25.3 Production on Mon Nov 10 19:00:55 2025\nCopyright (c) 1982, 2025, Oracle.  All rights reserved.\n\nName: mcp_dvdrent\nConnect String: \/\/NN.NN.NN.NN:1521\/PDB261\nUser: dvdrent\nPassword: ******\nConnected to:\nOracle AI Database 26ai Enterprise Edition Release 23.26.0.0.0 - for Oracle Cloud and Engineered Systems\nVersion 23.26.0.0.0\n\nSQL&gt;<\/code><\/pre>\n\n\n\n<p class=\"is-style-default\"><strong>Configure SQLcl MCP server with Claude<\/strong><\/p>\n\n\n\n<p>On your Claude Desktop, click on File &gt; Settings, and then select Developer. Next, click on &#8220;Add MCP Server.&#8221; This step will direct you to the location of the file named &#8220;claude_desktop_config.json.&#8221; Open this file with your preferred editor (such as Notepad) and add the SQLcl information for your MCP server.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"mcpServers\": {\n    \"sqlcl\": {\n      \"command\": \"c:\\\\tools\\\\sqlcl\\\\bin\\\\sql\",\n      \"args\": &#91;\"-mcp\"]\n    }\n  }\n}<\/code><\/pre>\n\n\n\n<p>Restart (File &gt; Exit, then relaunch) Claude Desktop. You should see the MCP server under &#8220;Developer&#8221;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"737\" src=\"https:\/\/i0.wp.com\/bijoos.com\/oraclenotes\/wp-content\/uploads\/2025\/11\/image-3.png?resize=975%2C737&#038;ssl=1\" alt=\"\" class=\"wp-image-2872\" srcset=\"https:\/\/i0.wp.com\/bijoos.com\/oraclenotes\/wp-content\/uploads\/2025\/11\/image-3.png?w=975&amp;ssl=1 975w, https:\/\/i0.wp.com\/bijoos.com\/oraclenotes\/wp-content\/uploads\/2025\/11\/image-3.png?resize=300%2C227&amp;ssl=1 300w, https:\/\/i0.wp.com\/bijoos.com\/oraclenotes\/wp-content\/uploads\/2025\/11\/image-3.png?resize=768%2C581&amp;ssl=1 768w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure>\n<\/div>\n\n\n<p>That&#8217;s it!<\/p>\n\n\n\n<p class=\"is-style-text-display\">Now, the play part!<\/p>\n\n\n\n<p>The search and tools icon is in the bottom portion of the chat window (next to the Plus sign). <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"729\" height=\"250\" src=\"https:\/\/i0.wp.com\/bijoos.com\/oraclenotes\/wp-content\/uploads\/2025\/11\/image-4.png?resize=729%2C250&#038;ssl=1\" alt=\"\" class=\"wp-image-2873\" srcset=\"https:\/\/i0.wp.com\/bijoos.com\/oraclenotes\/wp-content\/uploads\/2025\/11\/image-4.png?w=729&amp;ssl=1 729w, https:\/\/i0.wp.com\/bijoos.com\/oraclenotes\/wp-content\/uploads\/2025\/11\/image-4.png?resize=300%2C103&amp;ssl=1 300w\" sizes=\"auto, (max-width: 729px) 100vw, 729px\" \/><\/figure>\n\n\n\n<p>It shows that SQLcl is configured. <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"581\" src=\"https:\/\/i0.wp.com\/bijoos.com\/oraclenotes\/wp-content\/uploads\/2025\/11\/image-5.png?resize=975%2C581&#038;ssl=1\" alt=\"\" class=\"wp-image-2874\" srcset=\"https:\/\/i0.wp.com\/bijoos.com\/oraclenotes\/wp-content\/uploads\/2025\/11\/image-5.png?w=975&amp;ssl=1 975w, https:\/\/i0.wp.com\/bijoos.com\/oraclenotes\/wp-content\/uploads\/2025\/11\/image-5.png?resize=300%2C179&amp;ssl=1 300w, https:\/\/i0.wp.com\/bijoos.com\/oraclenotes\/wp-content\/uploads\/2025\/11\/image-5.png?resize=768%2C458&amp;ssl=1 768w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure>\n\n\n\n<p>Click on the<strong> &gt;<\/strong> next to sqlcl to see all the programs available. <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"595\" src=\"https:\/\/i0.wp.com\/bijoos.com\/oraclenotes\/wp-content\/uploads\/2025\/11\/image-6.png?resize=975%2C595&#038;ssl=1\" alt=\"\" class=\"wp-image-2875\" srcset=\"https:\/\/i0.wp.com\/bijoos.com\/oraclenotes\/wp-content\/uploads\/2025\/11\/image-6.png?w=975&amp;ssl=1 975w, https:\/\/i0.wp.com\/bijoos.com\/oraclenotes\/wp-content\/uploads\/2025\/11\/image-6.png?resize=300%2C183&amp;ssl=1 300w, https:\/\/i0.wp.com\/bijoos.com\/oraclenotes\/wp-content\/uploads\/2025\/11\/image-6.png?resize=768%2C469&amp;ssl=1 768w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure>\n\n\n\n<p>I didn&#8217;t know where to start the conversation or how to connect to my database from here. <\/p>\n\n\n\n<p>Here is how I started my conversation.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"738\" height=\"331\" src=\"https:\/\/i0.wp.com\/bijoos.com\/oraclenotes\/wp-content\/uploads\/2025\/11\/image-7.png?resize=738%2C331&#038;ssl=1\" alt=\"\" class=\"wp-image-2876\" srcset=\"https:\/\/i0.wp.com\/bijoos.com\/oraclenotes\/wp-content\/uploads\/2025\/11\/image-7.png?w=738&amp;ssl=1 738w, https:\/\/i0.wp.com\/bijoos.com\/oraclenotes\/wp-content\/uploads\/2025\/11\/image-7.png?resize=300%2C135&amp;ssl=1 300w\" sizes=\"auto, (max-width: 738px) 100vw, 738px\" \/><\/figure>\n\n\n\n<p>The AI agent is friendly \ud83d\ude42 <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"748\" height=\"491\" src=\"https:\/\/i0.wp.com\/bijoos.com\/oraclenotes\/wp-content\/uploads\/2025\/11\/image-8.png?resize=748%2C491&#038;ssl=1\" alt=\"\" class=\"wp-image-2877\" srcset=\"https:\/\/i0.wp.com\/bijoos.com\/oraclenotes\/wp-content\/uploads\/2025\/11\/image-8.png?w=748&amp;ssl=1 748w, https:\/\/i0.wp.com\/bijoos.com\/oraclenotes\/wp-content\/uploads\/2025\/11\/image-8.png?resize=300%2C197&amp;ssl=1 300w\" sizes=\"auto, (max-width: 748px) 100vw, 748px\" \/><\/figure>\n\n\n\n<p>That was easier than I thought!<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"819\" height=\"564\" src=\"https:\/\/i0.wp.com\/bijoos.com\/oraclenotes\/wp-content\/uploads\/2025\/11\/image-9.png?resize=819%2C564&#038;ssl=1\" alt=\"\" class=\"wp-image-2878\" srcset=\"https:\/\/i0.wp.com\/bijoos.com\/oraclenotes\/wp-content\/uploads\/2025\/11\/image-9.png?w=819&amp;ssl=1 819w, https:\/\/i0.wp.com\/bijoos.com\/oraclenotes\/wp-content\/uploads\/2025\/11\/image-9.png?resize=300%2C207&amp;ssl=1 300w, https:\/\/i0.wp.com\/bijoos.com\/oraclenotes\/wp-content\/uploads\/2025\/11\/image-9.png?resize=768%2C529&amp;ssl=1 768w\" sizes=\"auto, (max-width: 819px) 100vw, 819px\" \/><\/figure>\n\n\n\n<p>Wow! It just gave me full insight on my schema, relationship and everything I need to know!!!<\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code>Perfect! I've successfully connected to the **mcp_dvdrent** database. This appears to be an Oracle 23c database (version 23.26.0.0.0) with UTF-8 character encoding.\n\nNow let me gather detailed information about the schema to provide you with insights:Excellent! I now have detailed schema information. Let me provide you with comprehensive insights about the **mcp_dvdrent** database:\n\n## \ud83d\udcca Database Overview: DVD Rental System\n\nThis is a **DVD rental store database** (similar to the classic Sakila database) with 16 tables modeling a complete rental business operation.\n\n### \ud83c\udfac Core Business Entities\n\n**1. Film Management (4 tables)**\n- **DRS_FILM**: Core film catalog with 13 columns including title, description, release year, rental rate, replacement cost, rating, and special features\n- **DRS_LANGUAGE**: Language reference data\n- **DRS_CATEGORY**: Film categories\/genres\n- **DRS_ACTOR**: Actor information (first name, last name)\n\n**2. Customer &amp; Location (5 tables)**\n- **DRS_CUSTOMER**: Customer records with contact info, linked to addresses and stores\n- **DRS_ADDRESS**: Physical addresses with district, postal code, phone\n- **DRS_CITY**: City names\n- **DRS_COUNTRY**: Country reference data\n- **Complete geographic hierarchy**: Country \u2192 City \u2192 Address\n\n**3. Store Operations (4 tables)**\n- **DRS_STORE**: Store locations with manager assignments\n- **DRS_STAFF**: Employee records with credentials (username\/password), including profile pictures (BLOB)\n- **DRS_INVENTORY**: Film copies available at each store\n- **DRS_PAYMENT**: Payment transactions tracking rental fees\n\n**4. Rental Transactions (1 table)**\n- **DRS_RENTAL**: Rental history with dates (rental_date, return_date) and customer\/inventory linkage\n\n**5. Relationship Tables (2 tables)**\n- **DRS_FILM_ACTOR**: Many-to-many relationship between films and actors\n- **DRS_FILM_CATEGORY**: Many-to-many relationship between films and categories\n\n**6. System Table**\n- **DBTOOLS$MCP_LOG**: MCP (Model Context Protocol) logging table tracking AI interactions\n\n### \ud83d\udd17 Key Relationships\n\nThe database has a well-designed relational structure with 14 foreign key relationships:\n\n- Films \u2192 Language (films have language and original language)\n- Customers \u2192 Address \u2192 City \u2192 Country (geographic hierarchy)\n- Customers \u2192 Store (home store assignment)\n- Staff \u2192 Address &amp; Store (employee locations)\n- Inventory \u2192 Film &amp; Store (which films at which locations)\n- Rentals \u2192 Customer, Inventory, Staff (complete rental tracking)\n- Payments \u2192 Customer, Rental, Staff (financial transactions)\n\n### \ud83d\udcc8 Data Insights I Can Provide\n\nWould you like me to analyze:\n1. **Business metrics**: Total films, customers, revenue, rental patterns\n2. **Film analysis**: Most popular genres, actors, rental rates\n3. **Customer insights**: Active customers, rental frequency, geographic distribution\n4. **Store performance**: Inventory levels, revenue by store\n5. **Staff analysis**: Employee assignments and performance\n6. **Data quality**: Missing values, data consistency checks\n\nLet me know what insights you'd like to explore, and I'll run the appropriate queries!<\/code><\/pre>\n\n\n\n<p>I choose #2, and it produced a comprehensive report.<\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code>Perfect! Let me analyze the film-related data to provide you with comprehensive insights.Perfect! Now let me create a comprehensive visual report of the film analysis:## \ud83c\udfac Film Analysis Key Insights\n\nI've created an interactive dashboard for you! Here are the main findings:\n\n### **\ud83d\udcca Catalog Overview**\n- **1,000 films** in the catalog with **200 actors**\n- All films are in **English** (no other languages in current inventory)\n- Film lengths range from **46 to 185 minutes** (avg: 115 min)\n\n### **\ud83d\udcb0 Pricing Strategy**\n- **Rental rates**: $0.99 - $4.99 (avg: $2.98)\n- **Replacement costs**: $9.99 - $29.99 (avg: $19.98)\n- **Games &amp; Sci-Fi** categories command highest rental rates ($3.25 &amp; $3.22)\n- **Documentary &amp; Action** have lowest rates ($2.67 &amp; $2.65)\n\n### **\ud83c\udfad Category Distribution**\n- **Top 3 categories**: Sports (74), Foreign (73), Family (69)\n- **Sports films** are longest on average (128 min) and generate good revenue\n- Most categories have 51-74 films, showing balanced inventory\n\n### **\u2b50 Rating Analysis**\n- **PG-13** is most common (223 films - 22.3% of catalog)\n- Surprisingly, **NC-17** is second most common (210 films)\n- **PG-rated** films have highest average rental rate ($3.05)\n- **G-rated** films have lowest rental rate ($2.89)\n\n### **\ud83c\udf1f Star Power**\n- **Susan Davis** is the most prolific actor (54 films!)\n- Top 15 actors average 36-54 films each\n- Shows significant star concentration - these actors drive the catalog\n\n### **\u23f1\ufe0f Rental Duration**\n- Most films have **6-day** rental periods (212 films)\n- Rental duration doesn't strongly correlate with rental rate\n- 5-day rentals have highest average rate ($3.20)\n\n### **\ud83d\udc8e Premium Content**\n- 10 films command maximum pricing ($4.99 rental + $29.99 replacement)\n- These premium films are well-distributed across ratings (PG-13, G, R)\n- Premium films range from 81 to 181 minutes - length isn't the price driver\n\n**Business Recommendations:**\n1. Consider expanding Sports &amp; Foreign categories given their popularity and high rates\n2. Leverage top actors like Susan Davis for marketing campaigns\n3. Review NC-17 inventory levels - having more NC-17 than R-rated seems unusual\n4. PG-rated content performs well financially - consider expansion\n\nWould you like me to dive deeper into any specific aspect?<\/code><\/pre>\n\n\n\n<p>Here is the compreshensive HTML report it published. <a href=\"https:\/\/claude.ai\/public\/artifacts\/b46b1b7d-7376-48f4-96d5-7002d4b898db\">https:\/\/claude.ai\/public\/artifacts\/b46b1b7d-7376-48f4-96d5-7002d4b898db<\/a><\/p>\n\n\n\n<p>Very cool, isn&#8217;t?<\/p>\n\n\n\n<p>Now, I wanted to check some of the DBA activities. <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"744\" height=\"402\" src=\"https:\/\/i0.wp.com\/bijoos.com\/oraclenotes\/wp-content\/uploads\/2025\/11\/image-10.png?resize=744%2C402&#038;ssl=1\" alt=\"\" class=\"wp-image-2880\" srcset=\"https:\/\/i0.wp.com\/bijoos.com\/oraclenotes\/wp-content\/uploads\/2025\/11\/image-10.png?w=744&amp;ssl=1 744w, https:\/\/i0.wp.com\/bijoos.com\/oraclenotes\/wp-content\/uploads\/2025\/11\/image-10.png?resize=300%2C162&amp;ssl=1 300w\" sizes=\"auto, (max-width: 744px) 100vw, 744px\" \/><\/figure>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code>Let me check the database size for you:## \ud83d\udcbe Database Size Analysis\n\nThe **mcp_dvdrent** database is quite compact:\n\n### **Total Database Size: ~11 MB (0.01 GB)**\n\nThis is a very small database, typical for a demo\/sample database!\n\n### **\ud83d\udcca Storage Breakdown by Segment Type:**\n\n**Largest Tables:**\n1. **DRS_RENTAL** - 0.88 MB (16,044 rows)\n2. **DRS_PAYMENT** - 0.81 MB (16,049 rows)\n3. **DRS_FILM** - 0.44 MB (1,000 rows)\n4. **DRS_INVENTORY** - 0.19 MB (4,581 rows)\n\n**Indexes take up significant space:**\n- Multiple indexes on rental and payment tables (0.31-0.69 MB each)\n- Total index space is comparable to table space (good for query performance)\n\n**LOB Segments (Large Objects):**\n- 3 LOB segments (0.25 MB each) - likely storing:\n  - Film descriptions (CLOB in DRS_FILM)\n  - Staff pictures (BLOB in DRS_STAFF)\n  - MCP log messages (CLOB in DBTOOLS$MCP_LOG)\n\n### **\ud83d\udcc8 Row Count Summary:**\n- **DRS_PAYMENT**: 16,049 transactions\n- **DRS_RENTAL**: 16,044 rentals\n- **DRS_FILM_ACTOR**: 5,462 actor-film relationships\n- **DRS_INVENTORY**: 4,581 film copies\n- **DRS_FILM**: 1,000 films\n- **DRS_CUSTOMER**: 599 customers\n- **DRS_ADDRESS**: 603 addresses\n- **DRS_CITY**: 600 cities\n\n### **Key Insights:**\n- Average of **~16 rentals\/payments per film** - good activity\n- Each film has an average of **5.5 actors** (5,462 relationships \u00f7 1,000 films)\n- Each film has **~4.6 copies** in inventory\n- Very efficient storage with only **11 MB** handling all this data\n- The database is well-indexed (almost 1:1 ratio of table to index space)\n\nThis is an excellent size for a demo\/testing database - small enough to be fast, but large enough to demonstrate real-world relationships and query patterns!<\/code><\/pre>\n\n\n\n<p>I got into the best practice discussion.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"772\" height=\"403\" src=\"https:\/\/i0.wp.com\/bijoos.com\/oraclenotes\/wp-content\/uploads\/2025\/11\/image-11.png?resize=772%2C403&#038;ssl=1\" alt=\"\" class=\"wp-image-2881\" srcset=\"https:\/\/i0.wp.com\/bijoos.com\/oraclenotes\/wp-content\/uploads\/2025\/11\/image-11.png?w=772&amp;ssl=1 772w, https:\/\/i0.wp.com\/bijoos.com\/oraclenotes\/wp-content\/uploads\/2025\/11\/image-11.png?resize=300%2C157&amp;ssl=1 300w, https:\/\/i0.wp.com\/bijoos.com\/oraclenotes\/wp-content\/uploads\/2025\/11\/image-11.png?resize=768%2C401&amp;ssl=1 768w\" sizes=\"auto, (max-width: 772px) 100vw, 772px\" \/><\/figure>\n\n\n\n<p>Here is the comprehensive report it created, which I published for you to read. <a href=\"https:\/\/claude.ai\/public\/artifacts\/26d4e58c-a3d7-4470-8990-26baaf4c868f\">https:\/\/claude.ai\/public\/artifacts\/26d4e58c-a3d7-4470-8990-26baaf4c868f<\/a>. Check out the areas for improvement. (<em>Note: the user DVDRENT is a PDB user with no DBA or SYSTEM level privileges. So it could not see CDB level parameters, and it caused to generate some &#8220;halucinations&#8221; in the recommendation part<\/em>)<\/p>\n\n\n\n<p>This particular user has very limited privileges, no SYSTEM privs. I asked something beyond its privilege access domain. <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"749\" height=\"484\" src=\"https:\/\/i0.wp.com\/bijoos.com\/oraclenotes\/wp-content\/uploads\/2025\/11\/image-12.png?resize=749%2C484&#038;ssl=1\" alt=\"\" class=\"wp-image-2882\" srcset=\"https:\/\/i0.wp.com\/bijoos.com\/oraclenotes\/wp-content\/uploads\/2025\/11\/image-12.png?w=749&amp;ssl=1 749w, https:\/\/i0.wp.com\/bijoos.com\/oraclenotes\/wp-content\/uploads\/2025\/11\/image-12.png?resize=300%2C194&amp;ssl=1 300w\" sizes=\"auto, (max-width: 749px) 100vw, 749px\" \/><\/figure>\n\n\n\n<p>And it concluded with:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"751\" height=\"444\" src=\"https:\/\/i0.wp.com\/bijoos.com\/oraclenotes\/wp-content\/uploads\/2025\/11\/image-13.png?resize=751%2C444&#038;ssl=1\" alt=\"\" class=\"wp-image-2883\" srcset=\"https:\/\/i0.wp.com\/bijoos.com\/oraclenotes\/wp-content\/uploads\/2025\/11\/image-13.png?w=751&amp;ssl=1 751w, https:\/\/i0.wp.com\/bijoos.com\/oraclenotes\/wp-content\/uploads\/2025\/11\/image-13.png?resize=300%2C177&amp;ssl=1 300w\" sizes=\"auto, (max-width: 751px) 100vw, 751px\" \/><\/figure>\n\n\n\n<p>As you can see, this demonstrates the power of these agents! Start playing&#8230;<\/p>\n\n\n\n<p>I also used VS Code to connect to SQLcl MCP with the Antropic LLM (and Gemini). More to come&#8230;<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Today, I configured the MCP server for the Oracle database using SQLCL, guided by previous insights from Kris Rice and Jeff Smith. I set up my environment with necessary tools while connecting to the DVD Rental schema. I successfully gathered detailed database insights and generated reports, showcasing various metrics and recommendations.<\/p>\n","protected":false},"author":1,"featured_media":2886,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[126],"tags":[145,146],"class_list":["post-2870","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-genai-automation","tag-claude","tag-genai"],"acf":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/bijoos.com\/oraclenotes\/wp-content\/uploads\/2025\/11\/create-a-featured-image-representing-the-concept-of-playing-with.png?fit=1024%2C768&ssl=1","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/bijoos.com\/oraclenotes\/wp-json\/wp\/v2\/posts\/2870","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bijoos.com\/oraclenotes\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bijoos.com\/oraclenotes\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bijoos.com\/oraclenotes\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bijoos.com\/oraclenotes\/wp-json\/wp\/v2\/comments?post=2870"}],"version-history":[{"count":5,"href":"https:\/\/bijoos.com\/oraclenotes\/wp-json\/wp\/v2\/posts\/2870\/revisions"}],"predecessor-version":[{"id":2889,"href":"https:\/\/bijoos.com\/oraclenotes\/wp-json\/wp\/v2\/posts\/2870\/revisions\/2889"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bijoos.com\/oraclenotes\/wp-json\/wp\/v2\/media\/2886"}],"wp:attachment":[{"href":"https:\/\/bijoos.com\/oraclenotes\/wp-json\/wp\/v2\/media?parent=2870"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bijoos.com\/oraclenotes\/wp-json\/wp\/v2\/categories?post=2870"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bijoos.com\/oraclenotes\/wp-json\/wp\/v2\/tags?post=2870"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}