Skip to content

Add owner-scoped LinkedIn export MCP - #388

Merged
witbrock merged 1 commit into
mainfrom
feat/linkedin-owner-scoped-mcp
Aug 17, 2026
Merged

Add owner-scoped LinkedIn export MCP#388
witbrock merged 1 commit into
mainfrom
feat/linkedin-owner-scoped-mcp

Conversation

@witbrock

Copy link
Copy Markdown
Member

What changed

  • replace the legacy raw-export adapter with the bounded search surface from witbrock/LinkedInMJW#1
  • bind the private LinkedIn resource to the authenticated Von user concept
  • inject the resource selector as a hidden trusted argument only for the configured owner
  • recheck actor authority at invocation time before starting the private MCP process
  • launch the external MCP with one configured SQLite database and a minimal non-secret environment
  • add metadata and schemas for index, dataset, connection, message, organisation, and record searches

Why

A local LinkedIn export is private actor-owned data. Von should make it useful to the owning authenticated user without accepting identity, database paths, or resource authority from the browser, model, or tool payload.

User impact

The configured owner can ask ordinary Von questions over their LinkedIn export. Other users do not receive these delegated tools, and a forged direct invocation is rejected before the external process starts.

Validation

  • pytest tests/backend/test_internal_mcp_linkedin_tools.py tests/backend/test_internal_mcp_catalogue_builds.py -q — 54 passed
  • Ruff and compile checks passed
  • real index read-back — 45,328 records across 56 datasets
  • authenticated owner receipt read back for #V#michael_witbrock
  • different actor rejected with linkedin_resource_not_authorised
  • live Google-authenticated browser replay completed with LinkedIn tool calls and a provenance-caveated answer
  • Von restart and /health read-back succeeded

if _proxy_instance is None or _proxy_resource_id != resource_id:
config = _build_linkedin_config(resource_id=resource_id)
_proxy_instance = LinkedInMCPProxy(config)
_proxy_resource_id = resource_id
@witbrock
witbrock merged commit c1a4847 into main Aug 17, 2026
4 checks passed
@witbrock
witbrock deleted the feat/linkedin-owner-scoped-mcp branch August 17, 2026 20:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant