# CvLAC (MinCiencias) [Health: Active]

**Category:** 🔬 Research  
**Repository:** https://github.com/stivenson/cvlac-mcp  
**GitHub Stars:** 1  
**npm Downloads (last month):** 1291  
**Views:** 1  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/cvlac-minciencias

## Description
Update your Colombian CvLAC (MinCiencias) research CV by chatting with your AI assistant.

## Tools
Capabilities this server exposes over MCP:

- **login** — Authenticate in CvLAC and persist the browser session.
- **read_cvlac** — Read current CvLAC sections, including articles, books, chapters, theses, juries and five kinds of technical production. Returns existing items for comparison; list results include every JMesa page.
- **read_cvlac_detail** — Read the full record page of one CvLAC item. The list views only show a couple of columns, so this is the only way to see the fields a write actually stored (role, dates, institution, financing). Finds the row by label, case- and accent-insensitive.
- **read_portfolio** — Read and parse the configured portfolio site (PORTFOLIO_URL), merged with the curated proyectos/software/eventos from data/portfolio-extra.json.
- **diff** — Compare CvLAC vs portfolio. Returns four buckets: missing, toUpdate, similar (close to an existing entry — a human decides) and upToDate.
- **update_section** — Apply a single change to a CvLAC section. Takes a screenshot for confirmation. An "add" whose item resembles an existing entry returns status "needs_confirmation" and writes nothing; resolve it with action:"update" or repeat with confirm_duplicate:true. A "delete" also writes nothing until it is repeated with confirm_delete:true. A picker whose search matched several rows — a common university name can match close to 200 institutions in CvLAC — also returns needs_confirmation, with the candidates in "choices"; repeat with the chosen id in data.institucionId. For articles provide title, year and issn/revista; for books provide title, isbn, year, editorial and area; for chapters provide title, bookTitle, year and area; for theses provide title, tipo, year, institution and programme; for juries provide title, nivel, year, orientado, institution and programme; technical sections require title and year, with section-specific fields. Catalogue choices are answered by repeating the call with revistaId, libroId, editorialId, programaId, areaId or institucionId in data. Coauthors, keywords, recognitions and linked thesis students are completed from the CvLAC website. For books, certificateCLCDO and certificateCLRI accept local PDF paths (maximum 2 MiB each).
- **lookup_doi** — Read-only: look up a DOI in Crossref and return an article draft. Review it, then pass it to update_section with section:"articulos"; this tool does not write to CvLAC.
- **complete_product** — Complete the post-save CvLAC phase for an existing product. It manages ordered keywords, knowledge areas, coauthors and recognitions; for theses it also links students with their participation. It reads current values, resolves catalogue names, and never removes an existing value without confirm_delete:true. Use dry_run:true to preview catalogue resolution and removals without writing.
- **read_profile** — Read the two CvLAC pages that hold one record instead of a list: the researcher profile text (txt_desc_perfil), the table of academic social networks (Google Scholar, ORCID, LinkedIn, Scopus...) and the áreas de actuación. None of them appears in read_cvlac.
- **update_profile** — Write the researcher profile text and/or the academic social networks. Networks are MERGED over what CvLAC already stores — its form rewrites the whole table, so this reads it first and posts everything back. Pass url:null to remove one. A network CvLAC does not list goes in "otro" with its name in "label". Removing one needs confirm_delete:true. The profile text cannot be blanked: CvLAC marks it required. The areas list is replaced whole, so dropping one also needs confirm_delete:true.
- **sync** — Run a full diff and apply the unambiguous items (missing + toUpdate). Items that resemble existing CvLAC entries are never written; they are listed for a human to resolve. It previews by default; pass dry_run:false to apply changes explicitly.
- **screenshot** — Capture a CvLAC page for debugging: the given url, or else the last list, record or form page a tool visited, reloaded as it is now. Action links (delete, save) are refused, because in CvLAC opening one performs it.
- **inspect_form** — Navigate to a CvLAC URL and return the HTML of all form inputs/selects/textareas for debugging field names.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "cvlac-minciencias": {
    "command": "npx",
    "args": ["-y","cvlac-mcp@1"]
  }
}
```

## Documentation

## What CvLAC (MinCiencias) MCP server does

CvLAC (MinCiencias) MCP server connects an MCP-compatible AI application to the Colombian CvLAC website. It uses the account you already use on the site and lets you manage research-CV information through conversation rather than entering every form manually.

Supported records include academic and complementary education, professional experience, short courses, awards, projects, software, scientific events, languages, research lines, articles, books, book chapters, directed theses, juries, technical production, and profile information. Profile data can include presentation text, academic networks, and areas of activity.

The server can read existing entries and add, correct, or delete supported records. Before saving a potentially duplicated item, the assistant can show the similar entry and ask whether to update it or create a separate record. It then checks whether CvLAC reports that the change was saved.

## How it works

The application runs on your computer and controls its own Chromium browser to interact with CvLAC. The browser runs without a visible window after installation. Your login information is kept in a separate file in your user directory, and the project states that credentials do not leave the computer or pass through an intermediate server.

An MCP-compatible client provides the chat interface. The README lists Claude Desktop, Claude Code, Cursor, VS Code, Windsurf, Zed, and JetBrains as usable clients. You describe the record to inspect or change, and the assistant uses the available operations to work through CvLAC’s forms and catalogs.

The `diff` operation can compare CvLAC with a web portfolio only when that portfolio follows the expected structure. Without such a portfolio, you can provide CV text in the chat and have the assistant compare it item by item while requesting confirmation for ambiguous matches.

## Setup and configuration

Use a Windows, macOS, or Linux computer with Node.js 20 or newer and an MCP-capable AI application. Installation requires downloading the package’s Chromium copy with:

```bash
npx -y cvlac-mcp@1 install-browser
```

The browser download is approximately 150 MB. The `@1` package tag keeps the installation on the major version while still allowing fixes. Some Linux installations may also need Chromium system dependencies through Playwright.

The required CvLAC access details are the first name, national identification number, and password used on the website. The README describes storing them in a separate user-directory file readable only by the account owner. It also documents certificate-related Node settings for networks or antivirus software that intercept HTTPS traffic, including `NODE_OPTIONS` and `NODE_EXTRA_CA_CERTS`.

## Tools and capabilities

CvLAC (MinCiencias) MCP server supports work across CvLAC sections, including:

- Reading and updating education, employment, projects, awards, courses, and events
- Managing publications, software, technical production, theses, juries, and languages
- Updating profile text, research lines, academic networks, and activity areas
- Handling catalog selections for institutions, municipalities, journals, books, publishers, programs, and areas
- Using `complete_product` for supported product details such as keywords, areas, coauthors, awards, and thesis students
- Using `update_section` for supported section changes, including local certificate paths for books
- Using `diff` with compatible structured web portfolios

## Limitations and notes

The server cannot upload certificates through `complete_product`; book certificates are handled through `update_section` with local paths. It cannot create catalog entries for journals, books, publishers, programs, or areas that CvLAC does not already provide. When several catalog matches exist, the assistant presents options for selection.

Login currently assumes Colombian nationality and cannot start a session for an account with foreign nationality. Identification data and addresses are outside its scope, as is GrupLAC. It also cannot create a complementary-education program missing from CvLAC’s institutional catalog. The project is marked as unofficial.

_Full upstream README: https://allmcps.com/mcp/cvlac-minciencias/readme_

