Back to Marketplace
FREE
Unvetted
Make Money

πŸ› οΈ Skill: Placement Spreadsheet Filler (MCP Tool)

An MCP tool that automatically fills student placement details into Google Sheets or Excel files. The tool reads the student's profile from a local JSON file, fetches the headers from the target spreadsheet, smart-maps profile fields to columns, and

Install in one line

$Β mfkvault install skill-placement-spreadsheet-filler-mcp-tool

Requires the MFKVault CLI. Prefer MCP?

New skill
No reviews yet
New skill
πŸ€– Claude Code⚑ CursorπŸ’» Codex🦞 OpenClaw
FREE

Free to install β€” no account needed

Copy the command below and paste into your agent.

Instant access β€’ No coding needed β€’ No account needed

What you get in 5 minutes

  • Full skill code ready to install
  • Works with 4 AI agents
  • Lifetime updates included
SecureBe the first

Description

# πŸ› οΈ Skill: Placement Spreadsheet Filler (MCP Tool) --- ## Skill Name `placement-sheet-filler` ## Description An MCP tool that automatically fills student placement details into Google Sheets or Excel files. The tool reads the student's profile from a local JSON file, fetches the headers from the target spreadsheet, smart-maps profile fields to columns, and appends a new row. --- ## Exposed MCP Tools ### 1. `fill_sheet` > Primary tool. Fills student data into a given spreadsheet. **Parameters:** | Parameter | Type | Required | Description | |---|---|---|---| | `sheet_url` | string | βœ… | Google Sheets URL or Excel file path/URL | | `sheet_name` | string | ❌ | Specific tab/sheet name (defaults to first sheet) | | `profile_path` | string | βœ… | Path to local student profile JSON file | | `dry_run` | boolean | ❌ | If true, preview mapping without writing (default: false) | **Returns:** ```json { "status": "success", "row_appended": 42, "mapped_fields": { "Name": "John Doe", "Roll Number": "21CS001", "Branch": "CSE", "CGPA": "8.9" }, "unmapped_columns": ["Internship Duration"] } ``` --- ### 2. `preview_mapping` > Shows how profile fields will map to spreadsheet columns without writing anything. **Parameters:** | Parameter | Type | Required | Description | |---|---|---|---| | `sheet_url` | string | βœ… | Google Sheets URL or Excel file path | | `profile_path` | string | βœ… | Path to local student profile JSON file | **Returns:** Column β†’ Profile field mapping as a table. --- ### 3. `update_profile` > Updates one or more fields in the local student profile. **Parameters:** | Parameter | Type | Required | Description | |---|---|---|---| | `profile_path` | string | βœ… | Path to profile JSON | | `updates` | object | βœ… | Key-value pairs to update (e.g. `{"cgpa": "9.1"}`) | --- ### 4. `check_profile` > Reads and displays the current student profile. **Parameters:** | Parameter | Type | Required | Description | |---|---|---|---| | `profile_path` | string | βœ… | Path to profile JSON | --- ## Student Profile Format (JSON) ```json { "name": "John Doe", "roll_no": "21CS001", "branch": "Computer Science & Engineering", "cgpa": "8.9", "email": "[email protected]", "phone": "+91 9876543210", "resume_link": "https://drive.google.com/..." } ``` > πŸ’‘ **Extensible**: New fields can be added to this file at any time. The mapping engine will automatically discover them. --- ## Smart Column Mapping Algorithm The tool uses a **multi-stage fuzzy + semantic mapping** strategy: ``` Stage 1: Exact match e.g., column "email" β†’ profile field "email" Stage 2: Fuzzy string match (Levenshtein distance) e.g., column "Roll Number" β†’ profile field "roll_no" Stage 3: Synonym/alias table e.g., column "CGPA / GPA" β†’ profile field "cgpa" Stage 4: LLM-assisted mapping (fallback) e.g., column "Academic Performance" β†’ profile field "cgpa" Stage 5: Skip + report Columns with no confident match are listed as "unmapped_columns" ``` **Confidence threshold**: Matches below 60% confidence are skipped and reported. --- ## Authentication ### Google Sheets - Uses **OAuth 2.0** with the student's own Google account. - On first use, the user opens a one-time auth URL in their browser. - Token is cached locally for future use. - Scope: `https://www.googleapis.com/auth/spreadsheets` ### Excel - For local files: direct `openpyxl` read/write. - For cloud-hosted Excel (OneDrive/SharePoint): URL download + re-upload via Microsoft Graph API *(future scope)*. --- ## Error Handling | Scenario | Behaviour | |---|---| | Profile field not in sheet | Silently skipped, reported in response | | Sheet column not in profile | Listed under `unmapped_columns` | | Auth failure | Returns auth URL for re-authentication | | Network error | Retry 3x, then return error message | | Sheet not found / wrong tab name | Returns list of available tab names | | Duplicate row detection (future) | Warn user, confirm before appending | --- ## Hosting Notes - MCP server runs as a **stateless HTTP service**. - Each request carries the `profile_path` (student-side) and `sheet_url`. - No student data persists on the server β€” all profile data stays local with the student. - Deployable on: **Railway, Render, VPS, Docker**. --- ## Usage Example (MCP Client) ``` User: Fill my details in this Google Sheet: https://docs.google.com/spreadsheets/d/... Tool Call: fill_sheet( sheet_url = "https://docs.google.com/...", profile_path = "/home/student/profile.json" ) Response: βœ… Row appended successfully! Mapped: Name, Roll No, Branch, CGPA, Email, Phone Unmapped columns: ["Preferred Location", "Internship Duration"] ``` --- ## File Structure (Project) ``` placement-sheet-filler/ β”œβ”€β”€ server.py # MCP server entry point β”œβ”€β”€ tools/ β”‚ β”œβ”€β”€ fill_sheet.py # fill_sheet tool logic β”‚ β”œβ”€β”€ preview_mapping.py # preview_mapping tool logic β”‚ β”œβ”€β”€ update_profile.py # update_profile tool logic β”‚ └── check_profile.py # check_profile tool logic β”œβ”€β”€ core/ β”‚ β”œβ”€β”€ mapper.py # Smart column mapping engine β”‚ β”œβ”€β”€ sheets_client.py # Google Sheets API wrapper β”‚ └── excel_client.py # openpyxl Excel wrapper β”œβ”€β”€ auth/ β”‚ └── google_auth.py # OAuth 2.0 flow handler β”œβ”€β”€ profile.json # Student profile (local, not committed) β”œβ”€β”€ requirements.txt └── README.md ```

Preview in:

Security Status

Unvetted

Not yet security scanned

Time saved
How much time did this skill save you?

Related AI Tools

More Make Money tools you might like