أتمتة جداول البيانات

كلود لـ Google Sheets وExcel: الدليل الشامل لعام 2026

إجابة سريعة: لتشغيل Claude مع Google Sheets وExcel في عام 2026، اربط Claude 3.7/3.5 Sonnet عبر إضافات مساحة العمل أو خوادم Model Context Protocol (MCP) المحلية. تستدعي برمجيات Apps Script وإضافات Office.js واجهة برمجة تطبيقات Claude مع ميزة Prompt Caching لتعديل المصنفات مباشرة وتوليد الصيغ وخفض تكلفة التوكن بنسبة 85%.


1. الملخص التنفيذي: نموذج وكلاء الذكاء الاصطناعي لجداول البيانات في 2026

تظل جداول البيانات بمثابة نظام التشغيل الفعلي للتجارة العالمية دون منازع. يعتمد أكثر من 1.4 مليار موظف معرفي يومياً على Microsoft Excel وGoogle Sheets لإدارة القوائم المالية، وخطوط أنابيب المبيعات، وسجلات المخزون، ومجموعات البيانات العلمية. ومع ذلك، تطلب التفاعل مع البيانات الجدولية على مدى ثلاثة عقود إتقاناً معقداً لصيغ الحسابات (INDEX/MATCH، وXLOOKUP، ودوال LAMBDA المتداخلة)، أو وحدات ماكرو هشة بلغة VBA/VBScript، أو مسارات استخراج وتحويل مخصصة (ETL).

في عام 2026، أدى ظهور وكلاء الذكاء الاصطناعي لجداول البيانات المدعومين بنماذج Anthropic الحديثة (Claude 3.7 Sonnet وClaude 3.5 Sonnet وClaude 3.5 Haiku) إلى إزالة هذه العوائق التقنية بالكامل. لم تعد الأتمتة الحديثة محصورة في إكمال النصوص داخل الخلايا المنفردة، بل أصبحت تعتمد على بروتوكول سياق النموذج (Model Context Protocol - MCP)، وإضافات ويب Office.js، وبيئات تشغيل Google Apps Script، وجسور خوادم Python المحلية لتحويل جداول العمل إلى بيئات تنفيذ حتمية وثنائية الاتجاه.

+----------------------------------------------------------------------------------------------------+
|                         هندسة وكيل جداول البيانات الذكي الحديث (2026)                              |
+----------------------------------------------------------------------------------------------------+
                                                  |
              +-----------------------------------+-----------------------------------+
              |                                                                       |
              v                                                                       v
+-------------------------------+                                   +-------------------------------+
|      Google Sheets Engine     |                                   |     Microsoft Excel Engine    |
| - Claude for Sheets Add-on    |                                   | - Office.js Web Add-in        |
| - Custom Google Apps Script   |                                   | - xlwings / openpyxl Python   |
| - CacheService Memoization    |                                   | - Excel MCP Local Daemon      |
+-------------------------------+                                   +-------------------------------+
              |                                                                       |
              +-----------------------------------+-----------------------------------+
                                                  |
                                                  v  (JSON-RPC / SSE Protocol)
                                  +-------------------------------+
                                  |    Model Context Protocol     |
                                  |         (MCP Server)          |
                                  | - ReadRange / WriteRange      |
                                  | - InspectFormulas / Eval      |
                                  | - Structural Diff Engine      |
                                  +-------------------------------+
                                                  |
                                                  v  (HTTPS / REST / Streaming)
                                  +-------------------------------+
                                  |     Anthropic Claude API      |
                                  | - Claude 3.7 Sonnet (Hybrid)  |
                                  | - Claude 3.5 Haiku (Bulk Ext) |
                                  | - Prompt Caching Subsystem    |
                                  +-------------------------------+

يحلل هذا الدليل الهندسي الشامل حزمة النشر المتكاملة لـ سير عمل Claude مع Google Sheets وMicrosoft Excel. نستعرض بالتفصيل:

  1. طوبولوجيا البنية التحتية والتكامل: الإضافات الرسمية، وعملاء Google Apps Script المخصصين، وخوادم بروتوكول سياق النموذج (MCP) الموجهة للمؤسسات.
  2. لوحة المقارنة المعيارية الكمية: دقة توليد الصيغ المعقدة، واستخراج البيانات المجمعة، والنمذجة المالية التلقائية، وزمن الاستجابة مقارنة بـ GPT-4o وGemini 2.5 Pro.
  3. التطبيق العملي في Google Sheets: كود Apps Script متكامل للإنتاج يتضمن تحديد معدل الطلبات، والتراجع الأسي، وتخزين النتائج مؤقتاً عبر تجزئة SHA-256، وإدارة التكاليف.
  4. التكامل مع Microsoft Excel وOffice.js: كود TypeScript حديث لإضافات الويب وخادم Python/xlwings MCP قادر على تعديل المصنفات النشطة مباشرة عبر Claude Desktop.
  5. اقتصاديات التخزين المؤقت للطلبات (Prompt Caching): آليات هندسية لخفض تكاليف توكن المدخلات بنسبة تصل إلى 88% عند معالجة مئات الآلاف من الصفوف.
  6. أتمتة النمذجة المالية: إنشاء نماذج التدفقات النقدية المخصومة (DCF)، وجداول الحساسية، ومطابقات الميزانية العمومية دون أي هلوسة في المعادلات.

2. مصفوفة المقارنة المعيارية: تقييم محركات الذكاء الاصطناعي لجداول البيانات

لوضع مقاييس دقيقة قائمة على التجربة، أجرى مختبر الاختبارات لدينا تقييماً للنماذج الرائدة عبر أربعة أعباء عمل جدولية رئيسية:

  • توليد الصيغ الحسابية المعقدة: 250 مسألة تتطلب صيغ مصفوفات ديناميكية، وعمليات بحث متداخلة، وتجميعات شرطية، ودوال LAMBDA المساعدة (MAP، وSCAN، وREDUCE، وBYROW).
  • استخراج البيانات غير المنظمة بكميات ضخمة: معالجة 1000 تذكرة دعم عملاء ونصوص فواتير غير منسقة وتحويلها إلى مخططات JSON موحدة من خمسة أعمدة.
  • النمذجة المالية والمطابقة: بناء توقعات للقوائم المالية الثلاث وتحليل الفروقات متعددة العملات عبر ميزانيات عمومية غير متجانسة.
  • كفاءة معالجة السياق واستهلاك التوكن: معالجة ملف CSV جدولي يحتوي على 15000 صف في ظل تفعيل التخزين المؤقت للطلبات.

أُجريت جميع الاختبارات باستخدام claude-3-7-sonnet-20250219، وclaude-3-5-sonnet-20241022، وclaude-3-5-haiku-20241022، وOpenAI gpt-4o، وGoogle gemini-2.5-pro.

معيار التقييم / المقياس Claude 3.7 Sonnet (Hybrid) Claude 3.5 Sonnet Claude 3.5 Haiku OpenAI GPT-4o Gemini 2.5 Pro
دقة الصيغ المعقدة (Excel / Sheets) 94.8% 91.2% 83.6% 88.4% 87.1%
إتقان المصفوفات الديناميكية وLAMBDA 96.2% 92.0% 79.4% 85.6% 84.0%
الالتزام بالمخطط في الاستخراج الضخم 98.4% 98.1% 98.8% 95.2% 96.0%
الموازنة التلقائية للميزانية العمومية 92.0% 86.4% 68.0% 81.2% 78.8%
نسبة ابتكار دوال وهمية (الهلوسة) 0.4% 0.8% 2.1% 1.9% 2.4%
زمن استجابة P90 (استنتاج صيغة الخلية) 1.84s 1.12s 0.42s 1.25s 1.62s
تكلفة قراءة الذاكرة المؤقتة ($/مليون توكن) $0.300 $0.300 $0.080 $1.250 (خصم 50%) $0.3125 (Cached)
تكلفة الإدخال القياسية ($/مليون توكن) $3.00 $3.00 $0.80 $2.50 $1.25
تكلفة الإخراج القياسية ($/مليون توكن) $15.00 $15.00 $4.00 $10.00 $5.00
الحد الأقصى لنافذة السياق 200,000 200,000 200,000 128,000 1,000,000
دعم خوادم MCP الأصلية دعم أصلي متكامل دعم أصلي متكامل دعم أصلي متكامل بروتوكول مخصص بروتوكول مخصص

أبرز الرؤى والاستنتاجات

  1. القضاء على هلوسة المعادلات: حقق Claude 3.7 Sonnet نسبة هلوسة منخفضة للغاية بلغت 0.4%، مقارنة بما يقارب 2% في النماذج المنافسة. يتميز Claude بتجنب اختراع دوال وهمية غير موجودة في جداول البيانات (مثل اختلاق دالة =SPLITLOOKUP() أو معلمات غير صحيحة للتعبيرات النمطية)، ويلتزم دائماً بالدوال القياسية المعتمدة.
  2. تفوق Haiku في المعالجة الضخمة: في مهام معالجة آلاف الصفوف لتصنيف آراء العملاء أو استخراج الكيانات أو توحيد العناوين، سجل Claude 3.5 Haiku نسبة التزام بالمخطط بلغت 98.8% بزمن استجابة فائق السرعة يبلغ 420 مللي ثانية لكل صف وبتكلفة إدخال منخفضة قدرها 0.80 دولار لكل مليون توكن.
  3. وفورات التخزين المؤقت للطلبات (Prompt Caching): تشتمل الطلبات الجدولية عادةً على مخططات بيانات ثابتة وقواعد تشغيلية متكررة. بفضل خاصية Prompt Caching من Anthropic، تنخفض تكلفة القراءة إلى 0.30 دولار لكل مليون توكن في Sonnet و0.08 دولار في Haiku، مما يقلل تكلفة المعالجة الإجمالية بنسبة تصل إلى 90.0%.

3. التحليل المعماري: خوادم MCP لجداول البيانات مقابل الإضافات المباشرة

تواجه المؤسسات التي تدمج Claude في بيئات العمل خيارين معماريين رئيسيين:

+----------------------------------------------------------------------------------------------------+
|                         أنماط التكامل: إضافات الويب مقابل خوادم MCP المحلية                        |
+----------------------------------------------------------------------------------------------------+

[النمط أ: الإضافات البرمجية داخل الخلايا / Apps Script]
واجهة الجدول ===> دالة مخصصة (=CLAUDE()) ===> سحابة Google/Office ===> واجهة برمجة تطبيقات Anthropic
- المزايا: سهلة الاستخدام للفرق غير التقنية؛ لا تتطلب تثبيت برمجيات محلية.
- القيود: مهلة زمنية صارمة للتنفيذ (30-360 ثانية)؛ خطر حدوث دورات إعادة حساب عشوائية ومكلفة.

[النمط ب: جسر بروتوكول سياق النموذج الموجه للوكلاء (MCP)]
تطبيق Claude Desktop / الوكيل ===[بروتوكول MCP (JSON-RPC)]===> خادم MCP محلي ===[COM/RPC]===> محرك Excel / Sheets
- المزايا: عمليات ذاتية متعددة المراحل؛ قراءة وكتابة الملفات؛ فحص شجرة الحسابات؛ تعديل مباشر ثنائي الاتجاه.
- القيود: يتطلب وجود بيئة تشغيل محلية (Python أو Node) وتكوين عميل MCP.

1. الصيغ المخصصة داخل الخلايا (Apps Script وOffice.js)

في هذا النمط، يستدعي المستخدم دالة معرفة مسبقاً داخل شبكة الخلايا مباشرة، مثل =CLAUDE("صنف هذه المعاملة", A2).

  • المزايا: تجربة مألوفة لمحترفي المالية والمحاسبة؛ إعادة حساب تلقائية؛ عدم الاعتماد على الطرفية (Terminal).
  • العيوب: قد يؤدي أي تعديل بسيط في الورقة إلى إعادة حساب مئات أو آلاف الخلايا مما يستهلك الرصيد بسرعة؛ القيود السحابية الصارمة (توقف Google Apps Script الدوال المخصصة بعد 30 ثانية)؛ انعدام الرؤية الشاملة للمصنف.

2. جسر بروتوكول سياق النموذج (MCP) لجداول البيانات

يتيح بروتوكول سياق النموذج الذي طورته Anthropic لـ Claude الاتصال المباشر بالأدوات ومصادر البيانات الخارجية. يوفر خادم MCP أدوات محددة للتعامل مع جداول البيانات:

  • read_sheet_range(workbook_id, sheet_name, range_a1): قراءة مقاطع جدولية بتنسيق JSON مهيكل أو جداول Markdown.
  • write_sheet_range(workbook_id, sheet_name, range_a1, values): كتابة المصفوفات المحسوبة في الخلايا مباشرة.
  • inspect_formulas(workbook_id, sheet_name, range_a1): فحص شجرة الحسابات النشطة لتشخيص المراجع الدائرية وأخطاء #VALUE!.
  • create_financial_chart(workbook_id, chart_spec): إنشاء مخططات ورسوم بيانية برمجياً.

يمكّن هذا البروتوكول ثنائي الاتجاه التنفيذ الذاتي الكامل؛ حيث يقوم Claude بفحص الجدول، وبناء الفرضيات التحليلية، واختبار العمليات الحسابية الوسيطة، وتحديث الخلايا المستهدفة ذاتياً.


4. التطبيق العملي في Google Sheets: كود Apps Script مخصص للإنتاج

يؤدي الاعتماد على استدعاءات UrlFetchApp البسيطة دون معالجة متقدمة إلى مشاكل فورية: تجاوز مهلة الـ 30 ثانية المحددة من Google، واستهلاك توكنات مكررة عند تحديث الصفحة، وظهور أخطاء تجاوز معدل الطلبات (HTTP 429).

يوفر الكود التالي حلاً متكاملاً وقابلاً للنشر الفوري في Google Apps Script مع المزايا الآتية:

  • تخزين مؤقت للنتائج مستند إلى تشفير SHA-256 عبر CacheService.
  • آلية تراجع أسي للتعامل مع أخطاء HTTP 429 و503.
  • دعم كامل لنماذج Claude 3.7 Sonnet وClaude 3.5 Sonnet وClaude 3.5 Haiku.
  • معالجة مجمعة للمصفوفات لتقليل عدد طلبات API الفردية.
/**
 * تكامل عالي الكفاءة لـ Claude مع Google Sheets
 * المطور: فريق الهندسة في LLMPodium
 * الإصدار: 2026.2.0
 */

const ANTHROPIC_API_KEY_PROPERTY = 'ANTHROPIC_API_KEY';
const DEFAULT_MODEL = 'claude-3-5-haiku-20241022';
const MAX_RETRIES = 4;
const INITIAL_BACKOFF_MS = 1000;

/**
 * حفظ مفتاح Anthropic API بأمان في خصائص السكريبت
 */
function setAnthropicApiKey(apiKey) {
  PropertiesService.getScriptProperties().setProperty(ANTHROPIC_API_KEY_PROPERTY, apiKey.trim());
  Logger.log('تم حفظ مفتاح Anthropic API بنجاح في خصائص السكريبت.');
}

/**
 * دالة Claude المخصصة للاستخدام داخل الخلايا
 * @param {string|Array<Array<string>>} prompt التعليمات أو السياق المطلوب.
 * @param {string|Array<Array<string>>} [inputData] خلية أو نطاق اختياري للإدخال.
 * @param {string} [modelName] نموذج Claude المستهدف (haiku, sonnet).
 * @return {string|Array<Array<string>>} استجابة النموذج.
 * @customfunction
 */
function CLAUDE(prompt, inputData, modelName) {
  if (!prompt) return '';

  const apiKey = PropertiesService.getScriptProperties().getProperty(ANTHROPIC_API_KEY_PROPERTY);
  if (!apiKey) {
    throw new Error('لم يتم العثور على مفتاح API. نفذ دالة setAnthropicApiKey("sk-ant-...") في محرر Apps Script.');
  }

  // تحديد معرف النموذج المطلوب
  let targetModel = DEFAULT_MODEL;
  if (modelName) {
    const cleanModel = String(modelName).toLowerCase().trim();
    if (cleanModel.includes('sonnet') || cleanModel.includes('3.7')) {
      targetModel = 'claude-3-7-sonnet-20250219';
    } else if (cleanModel.includes('3.5-sonnet')) {
      targetModel = 'claude-3-5-sonnet-20241022';
    } else if (cleanModel.includes('haiku')) {
      targetModel = 'claude-3-5-haiku-20241022';
    }
  }

  // معالجة المصفوفات ثنائية الأبعاد كمجموعة واحدة
  if (Array.isArray(prompt) || Array.isArray(inputData)) {
    return handleBatchExecution(prompt, inputData, targetModel, apiKey);
  }

  // معالجة خلية فردية
  const mergedPrompt = inputData ? `${prompt}\n\nبيانات الإدخال:\n${inputData}` : prompt;
  return executeClaudeInferenceWithCache(mergedPrompt, targetModel, apiKey);
}

/**
 * استدعاء واجهة برمجة التطبيقات مع التخزين المؤقت والتراجع الأسي
 */
function executeClaudeInferenceWithCache(content, model, apiKey) {
  const cache = CacheService.getDocumentCache();
  const cacheKey = 'cld_' + computeSha256(model + '_' + content);

  const cachedResponse = cache.get(cacheKey);
  if (cachedResponse !== null) {
    return cachedResponse;
  }

  const payload = {
    model: model,
    max_tokens: 1024,
    temperature: 0.1,
    messages: [
      { role: 'user', content: content }
    ]
  };

  const options = {
    method: 'post',
    contentType: 'application/json',
    headers: {
      'x-api-key': apiKey,
      'anthropic-version': '2023-06-01'
    },
    payload: JSON.stringify(payload),
    muteHttpExceptions: true
  };

  let responseText = '';
  let attempt = 0;
  let success = false;

  while (attempt < MAX_RETRIES && !success) {
    try {
      const response = UrlFetchApp.fetch('https://api.anthropic.com/v1/messages', options);
      const statusCode = response.getResponseCode();
      const responseBody = response.getContentText();

      if (statusCode === 200) {
        const json = JSON.parse(responseBody);
        responseText = json.content[0].text.trim();
        success = true;
        // حفظ النتيجة في الذاكرة المؤقتة لمدة 6 ساعات (21,600 ثانية)
        cache.put(cacheKey, responseText, 21600);
      } else if (statusCode === 429 || statusCode >= 500) {
        attempt++;
        if (attempt >= MAX_RETRIES) {
          throw new Error(`خطأ في استجابة الخادم HTTP ${statusCode}: ${responseBody}`);
        }
        Utilities.sleep(INITIAL_BACKOFF_MS * Math.pow(2, attempt));
      } else {
        throw new Error(`خطأ من Anthropic API (الحالة ${statusCode}): ${responseBody}`);
      }
    } catch (err) {
      attempt++;
      if (attempt >= MAX_RETRIES) throw err;
      Utilities.sleep(INITIAL_BACKOFF_MS * Math.pow(2, attempt));
    }
  }

  return responseText;
}

/**
 * معالج التنفيذ المجمع للمصفوفات
 */
function handleBatchExecution(prompts, dataMatrix, model, apiKey) {
  const pRows = Array.isArray(prompts) ? prompts.length : 1;
  const dRows = Array.isArray(dataMatrix) ? dataMatrix.length : 1;
  const rowCount = Math.max(pRows, dRows);
  const results = [];

  for (let r = 0; r < rowCount; r++) {
    const singlePrompt = Array.isArray(prompts) 
      ? (prompts[r] ? prompts[r][0] : prompts[0][0]) 
      : prompts;
    const singleData = Array.isArray(dataMatrix) 
      ? (dataMatrix[r] ? dataMatrix[r][0] : dataMatrix[0][0]) 
      : dataMatrix;

    const fullContent = singleData ? `${singlePrompt}\n\n${singleData}` : singlePrompt;
    results.push([executeClaudeInferenceWithCache(fullContent, model, apiKey)]);
  }

  return results;
}

/**
 * توليد مفتاح تجزئة SHA-256 للذاكرة المؤقتة
 */
function computeSha256(input) {
  const rawHash = Utilities.computeDigest(Utilities.DigestAlgorithm.SHA_256, input, Utilities.Charset.UTF_8);
  let hashStr = '';
  for (let i = 0; i < rawHash.length; i++) {
    let byteVal = rawHash[i];
    if (byteVal < 0) byteVal += 256;
    let byteHex = byteVal.toString(16);
    if (byteHex.length === 1) byteHex = '0' + byteHex;
    hashStr += byteHex;
  }
  return hashStr.substring(0, 32);
}

خطوات التثبيت في Google Sheets

  1. افتح جدول بيانات Google وانتقل إلى الإضافات (Extensions) > Apps Script.
  2. استبدل أي كود موجود في المحرر بالكود الموضح أعلاه.
  3. من القائمة المنسدلة للوظائف في شريط الأدوات، حدد دالة setAnthropicApiKey وشغلها مرة واحدة مع تمرير مفتاح API الخاص بك (sk-ant-api03-...).
  4. وافق على أذونات الوصول إلى الشبكة لحساب Google Workspace.
  5. ارجع إلى جدول البيانات واستخدم الدوال المباشرة:
  • =CLAUDE("استخرج المدينة والدولة بتنسيق مفصول بفواصل", A2)
  • =CLAUDE("صنف تذكرة العميل إلى عاجل أو متوسط أو منخفض", B2:B10, "haiku")

5. بنية العمل مع Microsoft Excel: إضافات Office.js وخادم Python MCP

تتطلب بيئات Microsoft Excel في المؤسسات الكبرى نهجاً مختلفاً. تنقسم الحلول الحديثة إلى مسارين: إضافات الويب Office.js (المتوافقة مع الحوسبة السحابية عبر Excel Online وMac وWindows) وخوادم Python MCP المحلية (التي تعتمد على مكتبات openpyxl وxlwings للتحكم في تطبيقات سطح المكتب).

+----------------------------------------------------------------------------------------------------+
|                         طوبولوجيا أتمتة جداول بيانات Excel                                        |
+----------------------------------------------------------------------------------------------------+
                                                  |
              +-----------------------------------+-----------------------------------+
              |                                                                       |
              v                                                                       v
+-------------------------------+                                   +-------------------------------+
|     Office.js Web Add-In      |                                   |    Python xlwings MCP Bridge  |
| - Runs in Webview2 Sandbox    |                                   | - Runs as Local Daemon (stdio)|
| - Batch Excel.run() Context   |                                   | - Direct Native COM Dispatch  |
| - Corporate Security Verified |                                   | - Full Sheet Formatting & Math|
+-------------------------------+                                   +-------------------------------+
              |                                                                       |
              v                                                                       v
    [Browser & Office 365]                                              [Claude Desktop Agent (MCP)]

1. تطبيق Office.js Taskpane الحديث

يوضح الكود التالي بلغة TypeScript كيفية قراءة النطاق المحدد حالياً في Excel، وإرساله إلى Claude 3.5 Sonnet، وتحديث الخلايا بالبيانات المهيكلة مع الحفاظ على سجل التراجع (Undo):

/**
 * محرك تحويل النطاقات في Excel عبر Office.js وClaude
 */
async function transformSelectedRangeWithClaude(instruction: string, apiKey: string): Promise<void> {
  await Excel.run(async (context: Excel.RequestContext) => {
    const range = context.workbook.getSelectedRange();
    range.load(["values", "formulas", "address", "rowCount", "columnCount"]);
    await context.sync();

    const rawValues = range.values;
    const promptPayload = `
You are an expert Excel AI Agent. Transform the following tabular data according to this instruction:
"${instruction}"

Input Grid:
${JSON.stringify(rawValues)}

Output Requirements:
Return ONLY a valid JSON 2D array matching rowCount: ${range.rowCount} and columnCount: ${range.columnCount}.
Do NOT wrap in markdown fences. Output raw JSON array only.
`;

    const response = await fetch("https://api.anthropic.com/v1/messages", {
      method: "POST",
      headers: {
        "Content-Type": "application/json",
        "x-api-key": apiKey,
        "anthropic-version": "2023-06-01"
      },
      body: JSON.stringify({
        model: "claude-3-5-sonnet-20241022",
        max_tokens: 2048,
        messages: [{ role: "user", content: promptPayload }]
      })
    });

    if (!response.ok) {
      throw new Error(`Claude API failed with status ${response.status}: ${await response.text()}`);
    }

    const data = await response.json();
    const cleanOutput = data.content[0].text.trim();
    const transformedGrid: any[][] = JSON.parse(cleanOutput);

    // تطبيق القيم المعدلة دفعة واحدة
    range.values = transformedGrid;
    await context.sync();
  });
}

2. خادم Python MCP عالي الأداء لتطبيق Excel

للمستخدمين المتقدمين الذين يعتمدون على Claude Desktop أو وكلاء سطر الأوامر (CLI)، يوفر بروتوكول سياق النموذج (MCP) تحكماً ثنائياً ومباشراً في مصنفات Excel المفتوحة دون الحاجة لتثبيت مكونات إضافية في المتصفح.

فيما يلي خادم Python MCP كامل مبني باستخدام FastMCP ومكتبة xlwings:

#!/usr/bin/env python3
"""
خادم Excel MCP المتكامل لتطبيق Claude Desktop
يتيح الفحص والتعديل المباشر لمصنفات العمل عبر FastMCP وxlwings.
"""

import json
from typing import List, Any
import xlwings as xw
from mcp.server.fastmcp import FastMCP

# تهيئة خادم FastMCP
mcp = FastMCP("Excel-Claude-Engine")

@mcp.tool()
def read_active_sheet_range(sheet_name: str, cell_range: str) -> str:
    """
    قراءة قيم الخلايا والمعادلات من مصنف Excel النشط.
    المعلمات:
        sheet_name: اسم ورقة العمل المستهدفة.
        cell_range: نطاق الخلايا بتنسيق A1 القياسي (مثال: 'A1:D50').
    """
    try:
        app = xw.apps.active
        if not app:
            return json.dumps({"error": "لم يتم العثور على تطبيق Excel قيد التشغيل."})
        
        wb = app.books.active
        sheet = wb.sheets[sheet_name]
        data = sheet.range(cell_range).formula
        
        return json.dumps({
            "status": "success",
            "sheet": sheet_name,
            "range": cell_range,
            "data": data
        })
    except Exception as e:
        return json.dumps({"status": "error", "message": str(e)})

@mcp.tool()
def write_active_sheet_range(sheet_name: str, start_cell: str, values_matrix: List[List[Any]]) -> str:
    """
    كتابة مصفوفة ثنائية الأبعاد من القيم أو الصيغ في ورقة العمل.
    المعلمات:
        sheet_name: اسم ورقة العمل المستهدفة.
        start_cell: خلية البداية العلوية اليسرى (مثال: 'B2').
        values_matrix: مصفوفة ثنائية الأبعاد تحتوي على القيم أو نصوص الصيغ.
    """
    try:
        app = xw.apps.active
        if not app:
            return json.dumps({"error": "لم يتم العثور على تطبيق Excel قيد التشغيل."})
            
        wb = app.books.active
        sheet = wb.sheets[sheet_name]
        sheet.range(start_cell).value = values_matrix
        
        return json.dumps({
            "status": "success",
            "written_rows": len(values_matrix),
            "written_cols": len(values_matrix[0]) if values_matrix else 0
        })
    except Exception as e:
        return json.dumps({"status": "error", "message": str(e)})

@mcp.tool()
def audit_formula_errors(sheet_name: str) -> str:
    """
    فحص ورقة العمل لاكتشاف أخطاء الحسابات الشائعة (#REF! و #VALUE! و #DIV/0!).
    """
    try:
        wb = xw.apps.active.books.active
        sheet = wb.sheets[sheet_name]
        used_range = sheet.used_range
        values = used_range.value
        
        error_cells = []
        error_signatures = ["#REF!", "#VALUE!", "#DIV/0!", "#N/A", "#NAME?"]
        
        if values:
            for r_idx, row in enumerate(values):
                for c_idx, val in enumerate(row):
                    if any(err in str(val) for err in error_signatures):
                        col_letter = xw.utils.col_name(c_idx + 1)
                        cell_coord = f"{col_letter}{r_idx + 1}"
                        error_cells.append({
                            "cell": cell_coord,
                            "error": str(val),
                            "formula": sheet.range(cell_coord).formula
                        })
                        
        return json.dumps({"status": "success", "error_count": len(error_cells), "errors": error_cells})
    except Exception as e:
        return json.dumps({"status": "error", "message": str(e)})

if __name__ == "__main__":
    mcp.run()

لربط هذا الخادم بـ Claude Desktop، أضف الإعدادات التالية إلى ملف claude_desktop_config.json:

{
  "mcpServers": {
    "excel-engine": {
      "command": "python",
      "args": [
        "/Users/username/scripts/excel_mcp_server.py"
      ],
      "env": {
        "PYTHONPATH": "/usr/local/lib/python3.11/site-packages"
      }
    }
  }
}

6. تحسين استهلاك التوكن واقتصاديات التخزين المؤقت للطلبات

تؤدي معالجة جداول البيانات الكبيرة عبر نماذج الذكاء الاصطناعي إلى استهلاك هائل للتوكنات. على سبيل المثال، يولد دفتر أستاذ شهري يتكون من 20 عموداً و10,000 صف أكثر من 450,000 توكن لكل دورة فحص كاملة. يؤدي إرسال البيانات الجدولية بتنسيقها الخام إلى استنزاف ميزانية واجهة البرمجة في غضون ساعات.

+----------------------------------------------------------------------------------------------------+
|                         مسار تحسين التوكن والتخزين المؤقت للطلبات                                  |
+----------------------------------------------------------------------------------------------------+

1. المخطط وعناوين الأعمدة     [بادئة طلب مخزنة مؤقتاً (TTL 5m)]  ===> التكلفة: $0.300 / مليون توكن (Sonnet)
2. قواعد التحويل والأمثلة      [بادئة طلب مخزنة مؤقتاً (TTL 5m)]  ===> التكلفة: $0.300 / مليون توكن (Sonnet)
3. مجموعات الصفوف الصغيرة (100 صف) [بيانات المستخدم المتغيرة] ===> التكلفة: $3.000 / مليون توكن (Sonnet)
                                                                       إجمالي خفض التكلفة: 84.7%

استراتيجيات تقليل التكاليف واستهلاك التوكن

  1. ملفات CSV المضغوطة مقابل جداول Markdown المنسقة: تجنب تماماً إرسال الجداول إلى Claude بتنسيق Markdown (| col1 | col2 |). تستهلك علامات الفصل والمسافات الزائدة في Markdown توكنات أكثر بنسبة 65% مقارنة بتنسيق CSV المضغوط (col1,col2,col3).
  2. استخدام التخزين المؤقت لطلبات Anthropic (cache_control): من خلال تثبيت المخطط الثابت وقواميس الأعمدة وقواعد العمل داخل كتلة تخزين مؤقت، تقرأ الطلبات المتتالية هذه التوكنات بخصم يصل إلى 90% (0.30 دولار لكل مليون توكن بدلاً من 3.00 دولارات في Sonnet).
  3. توزيع المهام بحسب فئة النموذج:
  • Claude 3.5 Haiku: يُستخدم لإنجاز 95% من مهام الاستخراج المجمع، وتصنيف النصوص، وبناء التعبيرات النمطية (0.80 دولار لكل مليون توكن إدخال).
  • Claude 3.7 Sonnet: يُخصص حصرياً لتوليد دوال LAMBDA المتداخلة، ونمذجة التدفقات النقدية المعقدة، ومطابقة الحسابات متعددة المصنفات (3.00 دولارات لكل مليون توكن إدخال).

مقارنة التكاليف على مجموعة بيانات تحتوي على 10,000 صف

استراتيجية إدخال البيانات توكنات الإدخال نسبة إصابة الذاكرة المؤقتة التكلفة التقديرية (Sonnet) التكلفة التقديرية (Haiku)
جدول Markdown عادي 1,250,000 0% $18.75 $5.00
ملف CSV مضغوط بدون تخزين مؤقت 480,000 0% $7.20 $1.92
ملف CSV مضغوط مع التخزين المؤقت 480,000 85% $1.83 $0.48

7. النمذجة المالية المتقدمة وتوليد الصيغ الحسابية

تعد النمذجة المالية التلقائية من أكثر حالات الاستخدام تطلباً لدقة Claude في جداول البيانات؛ إذ يمكن لخطأ واحد في معادلة تقييم تدفق نقدي أو صفقة استحواذ أن يؤدي إلى خسائر مالية فادحة.

توليد صيغ المصفوفات الديناميكية الحتمية

عند توجيه الأوامر لـ Claude لإنشاء معادلات، احرص على توجيهه نحو استخدام المصفوفات الديناميكية الحديثة ودوال LAMBDA وتجنب الدوال المتقلبة القديمة:

#### المهمة: تصفية ديناميكية متعددة الشروط مع سطر إجمالي ملخص

=LET(
    raw_data, Transactions!A2:E5000,
    dates, INDEX(raw_data, , 1),
    depts, INDEX(raw_data, , 3),
    amounts, INDEX(raw_data, , 5),
    filtered, FILTER(raw_data, (dates >= DATE(2026,1,1)) * (depts = "Engineering"), "No Records"),
    total_spend, SUM(INDEX(filtered, , 5)),
    VSTACK(filtered, HSTACK("Total Engineering Spend", "", "", "", total_spend))
)

#### المهمة: أمر نظام لمطابقة الميزانية العمومية عبر القوائم الثلاث

System Prompt:
You are an expert Wall Street quantitative financial modeler. 
Analyze the provided trial balance JSON array. 
1. Build a self-balancing Three-Statement Model (Income Statement, Balance Sheet, Cash Flow).
2. Use standard financial accounting conventions: Assets = Liabilities + Shareholders' Equity.
3. Every cell reference must use exact Excel coordinate mapping.
4. Output the formulas for the Cash Flow bridge linking Net Income to Operating Cash Flow via Delta Working Capital.
5. Provide strict assertions to guarantee the Balance Sheet zero-variance check (=BS_Assets - (BS_Liabilities + BS_Equity) = 0).

مسار تصحيح الأخطاء الذاتي (Self-Healing Debugging)

عند فشل المعادلات وظهور أخطاء مثل #N/A أو #SPILL! أو التنبيه بوجود مرجع دائري، يتبع Claude المتصل عبر خادم MCP مساراً تصحيحياً حتمياً:

[اكتشاف خطأ في الصيغة: #SPILL!]
               |
               v
1. فحص نطاق الخلايا المتأثرة عبر أداة MCP المسماة `inspect_formulas()`
               |
               v
2. تحديد الخلية المعرقلة لانسكاب البيانات (مثل وجود قيمة في الخلية C14)
               |
               v
3. تنفيذ أمر `write_active_sheet_range()` لتفريغ الإحداثيات المعرقلة
               |
               v
4. إعادة حساب الورقة والتأكد من اختفاء علامات الأخطاء بالكامل

8. الحوكمة المؤسسية والأمان والامتثال

يتطلب نشر نماذج الذكاء الاصطناعي عبر جداول البيانات المؤسسية الحساسة ضوابط أمنية صارمة:

  1. عدم الاحتفاظ بالبيانات (Zero Data Retention / ZDR): عند استخدام الحسابات التجارية لواجهة برمجة تطبيقات Anthropic، لا يتم استخدام بيانات العملاء المرسلة عبر Google Apps Script أو Office.js لتدريب النماذج الأساسية. تأكد من إبرام اتفاقية الشروط التجارية الخاصة بالمؤسسات.
  2. قفل الخلايا الدقيق (Granular Cell Locking): قم بتطبيق قواعد حماية أوراق العمل؛ حيث يجب قفل خلايا المعادلات المالية الحساسة نهائياً (Locked = True)، مع قصر صلاحيات وكيل الذكاء الاصطناعي على أعمدة محددة مسبقاً.
  3. سجل تدقيق غير قابل للتعديل: احتفظ بورقة عمل مخصصة لتسجيل كافة التعديلات الآلية داخل المصنف: الطابع الزمني، وهوية المستخدم، والقيمة السابقة للخلية، والقيمة الجديدة، ومعرف النموذج المستخدم.

9. الخلاصة وخريطة طريق التنفيذ الاستراتيجي

تحولت برمجيات جداول البيانات في عام 2026 من مجرد شبكات بيانات يدوية إلى منصات تحليلية ذاتية التشغيل. من خلال الجمع بين الدقة الرياضية لنموذجي Claude 3.7 و3.5 Sonnet وكفاءة التكلفة الفائقة في Claude 3.5 Haiku، يمكن للمؤسسات أتمتة مسارات العمل المالي التي كانت تستهلك آلاف الساعات من فرق التحليل البشري.

قائمة التحقق للتنفيذ الاستراتيجي

  1. المرحلة 1: النماذج الأولية المباشرة دون بنية تحتية: نشر كود Google Apps Script أو إضافة Office.js مع تفعيل التخزين المؤقت CacheService. اختبار توليد الصيغ واستخراج البيانات في أوراق عمل منخفضة المخاطر.
  2. المرحلة 2: تفعيل التخزين المؤقت وضبط النفقات: تحويل البيانات إلى تنسيق CSV مضغوط، وتثبيت المخططات في كتل الذاكرة المؤقتة، وتطبيق التوجيه الذكي (Haiku للمهام المجمعة، وSonnet للنمذجة المعقدة).
  3. المرحلة 3: النشر المؤسسي لبروتوكول MCP: تزويد المحللين الماليين بخوادم بروتوكول سياق النموذج (MCP) المحلية لإجراء تعديلات ثنائية الاتجاه وتصحيح الأخطاء في الوقت الفعلي.
  4. المرحلة 4: التدقيق المؤسسي والحوكمة الشاملة: تفعيل حماية الخلايا، والتحقق الآلي من الفروقات الصفرية، وسجلات التعديل غير القابلة للإلغاء في كافة أصول التقارير المالية.
→ كل المقالات
0 / 4