Collection of MCP servers for AI Employee Vault enabling integration with email, social media (Facebook, Instagram, Twitter), LinkedIn, and Odoo ERP systems
18 tools across 5 MCP servers (Facebook, Instagram, LinkedIn, Odoo, Email). All tools have descriptions (10-50 chars, mostly generic) and JSON Schema input definitions. However, critical gaps: (1) Descriptions are uniformly brief and lack LLM-optimized guidance on WHEN to use each tool or what happens (e.g., 'Post a message to Facebook Page' vs 'Create and publish a post to your Facebook business page; requires approval if not admin'). (2) Parameter descriptions are sparse or missing context (e.g., 'metric' param in facebook_get_insights lacks enum values or format guidance). (3) No output schemas documented, LLMs cannot predict response structure. (4) Error handling absent, no recovery guidance. (5) Security concerns: no evidence of secret injection patterns; credentials likely in .env but not validated in code. (6) Tool composition issues: create_linkedin_post + post_linkedin should be one atomic operation or clearly sequenced. Average tool score: 42/100.
Create a new customer in Odoo
Create a new invoice in Odoo Accounting
Create a LinkedIn post draft and save to Pending_Approval/
Delete a Facebook post
Get page insights/metrics
Get recent posts from Facebook Page
Post a message to Facebook Page
No output schemas documented. LLMs cannot predict response structure, forcing them to guess at field names and types for downstream tool chaining. This violates pattern:tool and mxe:include-chaining-ids.
Descriptions are uniformly generic and under 50 chars. They lack LLM-optimized guidance on WHEN to use each tool, what state changes occur, and prerequisites. E.g., 'Get page insights/metrics' does not explain which metrics are available, what date ranges are valid, or how to interpret results.
Parameter descriptions missing or incomplete. 'metric' param in facebook_get_insights and instagram_get_insights lacks enum values or format guidance. LLMs will hallucinate invalid metric names. 'days' param lacks range constraints (min/max).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | 2026-07-28+ | v2 |
Get details of a specific invoice by ID or name
Get revenue statistics from Odoo
Get Instagram account insights/metrics
Get recent Instagram posts
Post multiple images (carousel) to Instagram
Post an image to Instagram
List invoices from Odoo with optional filters
List all pending LinkedIn post drafts
Post approved LinkedIn content using Playwright automation
Register a payment for an invoice
Validate/post a draft invoice
No error handling or recovery guidance. Tools do not document what happens on failure (e.g., invalid post_id, API rate limit, auth failure). LLMs receive raw errors with no actionable next steps.
Tool composition issue: create_linkedin_post saves to Pending_Approval/, then post_linkedin reads from Approved/. This two-step workflow is not atomic and lacks clear sequencing guidance. LLMs may call post_linkedin before create_linkedin_post or with wrong filenames.