Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
774 commits
Select commit Hold shift + click to select a range
e3a061b
chore(deps): bump fastmcp constraint to >=3.0.0 (#191)
stickerdaniel Mar 4, 2026
438766a
refactor(error-handler): replace handle_tool_error with ToolError
stickerdaniel Mar 4, 2026
89e3019
fix(error-handler): add logging for unknown exceptions and missing tests
stickerdaniel Mar 4, 2026
01f8d70
fix(error-handler): restore tool context in logs and add missing test
stickerdaniel Mar 4, 2026
6ea679b
style(error-handler): Add clarifying comments
stickerdaniel Mar 4, 2026
1276925
Merge pull request #192 from stickerdaniel/03-04-chore_deps_bump_fast…
stickerdaniel Mar 4, 2026
9506ac7
refactor(tools): Use Depends() to inject extractor
stickerdaniel Mar 4, 2026
ac2686f
fix(dependencies): Enhance error handling in get_extractor
stickerdaniel Mar 4, 2026
c36d754
style(deps): Soften get_extractor docstring
stickerdaniel Mar 5, 2026
de52fcf
docs(deps): Fix operation order in docstring
stickerdaniel Mar 5, 2026
e95e867
Merge pull request #194 from stickerdaniel/03-04-refactor_tools_use_d…
stickerdaniel Mar 5, 2026
f13c900
chore(config): Update model and provider settings in btca.config.jsonc
stickerdaniel Mar 5, 2026
b566d90
chore(config): Update model and provider settings in btca.config.json…
stickerdaniel Mar 5, 2026
846e5e2
refactor(tools): Simplify annotations to dict syntax and add tags
stickerdaniel Mar 5, 2026
1a6b901
refactor(tools): Simplify annotations to dict syntax and add tags (#198)
stickerdaniel Mar 5, 2026
ba4f312
refactor(server): Split lifespan into composable browser + auth lifes…
stickerdaniel Mar 5, 2026
fd8373c
style(server): Address Greptile review feedback
stickerdaniel Mar 5, 2026
a6ac72e
Merge pull request #199 from stickerdaniel/03-05-refactor_server_spli…
stickerdaniel Mar 5, 2026
1871483
feat(tools): add global 60s tool timeouts
stickerdaniel Mar 5, 2026
bb7d820
fix(tools): raise global timeout to 90s
stickerdaniel Mar 5, 2026
4cf4eae
refactor(tools): centralize tool timeout constant
stickerdaniel Mar 5, 2026
95fe5f0
docs: reduce timeout feature emphasis
stickerdaniel Mar 5, 2026
071be1d
Merge pull request #197 from stickerdaniel/03-05-feat_global_60s_tool…
stickerdaniel Mar 5, 2026
b9f6ca8
feat(tools): add job IDs, sidebar scrolling, and pagination to search…
stickerdaniel Mar 5, 2026
58503d4
fix(tools): address Copilot review feedback on search_jobs
stickerdaniel Mar 5, 2026
07df648
fix(tools): address Greptile review feedback
stickerdaniel Mar 5, 2026
a0fddd9
feat(tools): add search filters and fix Greptile review items
stickerdaniel Mar 5, 2026
a4fd0cc
fix(tools): normalize job_type with _JOB_TYPE_MAP instead of quote_plus
stickerdaniel Mar 5, 2026
ffe43ee
fix(tools): skip job ID extraction on rate-limited pages
stickerdaniel Mar 5, 2026
6b13461
fix(tools): move _normalize_csv to module level, wait for job cards
stickerdaniel Mar 5, 2026
3cf8eff
docs(scraping): explain DOM exception in _get_total_search_pages
stickerdaniel Mar 5, 2026
4ba1b76
fix(tools): single-select filters, dead code, and pagination query
stickerdaniel Mar 5, 2026
cda9c69
fix(tools): URL-encode single-select filters, fix log indexing
stickerdaniel Mar 5, 2026
aae6b6a
fix(tools): log rate-limit retry outcome and missing scroll container
stickerdaniel Mar 5, 2026
6df092d
fix(tools): skip scroll without main, fix log message, harden test
stickerdaniel Mar 5, 2026
8e073da
fix(tools): preserve page text on zero-results search
stickerdaniel Mar 5, 2026
fa9fb31
test(scraping): Assert await_count in page texts test
stickerdaniel Mar 5, 2026
2531c4e
fix(scraping): Use textContent for hidden pagination element
stickerdaniel Mar 5, 2026
b9b4536
fix(scraping): Surface JS debug log, isolate pagination error
stickerdaniel Mar 5, 2026
524e107
fix(scraping): Log zero-scroll and body-fallback edge cases
stickerdaniel Mar 5, 2026
7b1cd2b
fix(scraping): Disambiguate scroll sentinels and body fallback log
stickerdaniel Mar 5, 2026
1ac2fcf
fix(scraping): URL guard for stale DOM, test zero-ID page text
stickerdaniel Mar 5, 2026
bd1963a
fix(scraping): Move displaced comment, log race condition, test URL g…
stickerdaniel Mar 5, 2026
d27e872
test(scraping): Assert total_pages queried only once
stickerdaniel Mar 5, 2026
3fcf7bf
Merge pull request #200 from stickerdaniel/03-05-feat_tools_add_job_i…
stickerdaniel Mar 5, 2026
341a018
docs(AGENTS): add section for verifying bug reports with detailed cur…
stickerdaniel Mar 5, 2026
ba239bb
Update AGENTS.md
stickerdaniel Mar 5, 2026
7034fc6
Update AGENTS.md
stickerdaniel Mar 5, 2026
78d1f36
docs(AGENTS): add section for verifying bug reports with detailed cur…
stickerdaniel Mar 5, 2026
98d2eb4
fix(scraping): Wait for activity feed content before extracting
stickerdaniel Mar 5, 2026
7971970
Merge pull request #203 from stickerdaniel/fix/201-activity-feed-post…
stickerdaniel Mar 5, 2026
8583a0c
chore: Bump version to 4.2.0
stickerdaniel Mar 5, 2026
dfa5816
chore: Bump version to 4.2.0 (#204)
stickerdaniel Mar 5, 2026
d3eab7c
chore: update manifest.json and docker-compose.yml to v4.2.0 [skip ci]
github-actions[bot] Mar 5, 2026
a82daf2
feat(scraping): add compact references
stickerdaniel Mar 8, 2026
8eef9fb
fix(scraping): address review feedback
stickerdaniel Mar 8, 2026
879e808
fix(scraping): refine review follow-ups
stickerdaniel Mar 8, 2026
4170613
fix(scraping): address scheme review
stickerdaniel Mar 8, 2026
01520a3
fix(scraping): polish review cleanup
stickerdaniel Mar 8, 2026
1a3a213
fix(scraping): refine context heuristics
stickerdaniel Mar 8, 2026
651db45
fix(scraping): address final review
stickerdaniel Mar 8, 2026
252bea0
fix(auth): detect login barriers
stickerdaniel Mar 8, 2026
7eab9f1
fix(scraping): tighten rate-limit handling
stickerdaniel Mar 8, 2026
f082b8c
fix(scraping): polish reference quality
stickerdaniel Mar 9, 2026
5fcdd8e
fix(scraping): drop orphaned references
stickerdaniel Mar 9, 2026
8b5ba6c
fix(scraping): bound redirect unwrapping
stickerdaniel Mar 9, 2026
ef9f59c
fix(auth): narrow barrier text match
stickerdaniel Mar 9, 2026
b4e925f
fix(auth): tighten blocker matching
stickerdaniel Mar 9, 2026
99cf0b7
perf(scraping): cap dom reference scan
stickerdaniel Mar 9, 2026
54f94ef
fix(auth): narrow account chooser match
stickerdaniel Mar 9, 2026
386c295
chore(scraping): make section caps explicit
stickerdaniel Mar 9, 2026
bbfcb64
perf(scraping): trim auth barrier checks
stickerdaniel Mar 9, 2026
9868686
fix(scraping): label job posting context
stickerdaniel Mar 9, 2026
cd1ed76
Merge pull request #206 from stickerdaniel/03-08-feat_scraping_add_co…
stickerdaniel Mar 9, 2026
f97b98f
chore: Bump version to 4.3.0
stickerdaniel Mar 9, 2026
da59dc3
chore: Bump version to 4.3.0 (#210)
stickerdaniel Mar 9, 2026
0b5ef7c
chore: update manifest.json and docker-compose.yml to v4.3.0 [skip ci]
github-actions[bot] Mar 9, 2026
de06446
chore(deps): update all major dependencies
renovate[bot] Mar 9, 2026
ea5a2eb
Merge pull request #208 from stickerdaniel/renovate/major-all-major-d…
stickerdaniel Mar 9, 2026
2c1fda7
chore(deps): update ci dependencies
renovate[bot] Mar 9, 2026
5482b2d
Merge pull request #207 from stickerdaniel/renovate/ci-dependencies
stickerdaniel Mar 9, 2026
8e8cdf4
docs(README): installation link for uv in README
stickerdaniel Mar 11, 2026
9d16fd9
Merge pull request #214 from stickerdaniel/stickerdaniel-patch-1
stickerdaniel Mar 11, 2026
6ec095c
feat(server): serialize tool calls
stickerdaniel Mar 12, 2026
7e20bf1
feat(server): report queued tool progress
stickerdaniel Mar 12, 2026
06fe589
feat(server): serialize tool calls (#219)
stickerdaniel Mar 12, 2026
f9bf17a
feat(auth): persist runtime-derived sessions
stickerdaniel Mar 12, 2026
883954a
feat(debug): return issue-ready scrape traces
stickerdaniel Mar 12, 2026
1b86e67
refactor(auth): default docker fresh bridge
stickerdaniel Mar 12, 2026
ffd874c
feat(debug): keep traces on failures
stickerdaniel Mar 12, 2026
9d4ed56
fix(auth): harden remember-me prompt
stickerdaniel Mar 12, 2026
368611f
docs(agents): clarify draft PR workflow
stickerdaniel Mar 12, 2026
7b70dbc
refactor(debug): share nav stabilization
stickerdaniel Mar 12, 2026
87e6a2e
docs(agents): remove redundant note on PR review comments
stickerdaniel Mar 12, 2026
edd63ec
fix(diagnostics): avoid blocking issue search
stickerdaniel Mar 12, 2026
2475b05
fix(runtime): tighten diagnostics exposure
stickerdaniel Mar 13, 2026
76614b4
fix(trace): clean up cli trace lifecycle
stickerdaniel Mar 13, 2026
dec87ee
fix(status): clarify bridge validation
stickerdaniel Mar 13, 2026
1ec52b8
fix(debug): close reopened browser on failure
stickerdaniel Mar 13, 2026
6e59fe6
fix(setup): guard source-state export
stickerdaniel Mar 13, 2026
caac512
fix(auth): tighten remember-me retries
stickerdaniel Mar 13, 2026
34db2d6
refactor(diagnostics): trim dead runtime detail
stickerdaniel Mar 13, 2026
10f7918
fix(login): fail incomplete source setup
stickerdaniel Mar 13, 2026
afe8b59
fix(debug): reduce noisy diagnostics
stickerdaniel Mar 13, 2026
bbe23ad
fix(auth): relax remember-me selector
stickerdaniel Mar 13, 2026
d059343
fix(bridge): honor debug cookie override
stickerdaniel Mar 13, 2026
1d18402
refactor(debug): drop private cookie helper
stickerdaniel Mar 13, 2026
8c73126
fix(browser): close startup failures
stickerdaniel Mar 13, 2026
fcbcb68
fix(setup): align portable cookie export
stickerdaniel Mar 13, 2026
2f39c79
fix(bridge): rebridge stale derived profile
stickerdaniel Mar 13, 2026
a65126c
refactor(auth): harden session metadata
stickerdaniel Mar 13, 2026
48e86fd
fix(diagnostics): skip missing gist files
stickerdaniel Mar 13, 2026
1fe7ca4
Merge pull request #221 from stickerdaniel/feature/220-docker-bridge-…
stickerdaniel Mar 13, 2026
7461e96
chore: Bump version to 4.4.0
stickerdaniel Mar 13, 2026
89d9b18
chore: Bump version to 4.4.0 (#222)
stickerdaniel Mar 13, 2026
1e1bcc4
chore: update manifest.json and docker-compose.yml to v4.4.0 [skip ci]
github-actions[bot] Mar 13, 2026
7e7464d
fix(scraping): wait for search results content before extracting
jonzarecki Mar 15, 2026
7298fcd
Merge pull request #225 from jonzarecki/fix/search-results-content-wait
stickerdaniel Mar 16, 2026
185c1aa
chore: Bump version to 4.4.1
stickerdaniel Mar 16, 2026
c1e361e
chore: Bump version to 4.4.1 (#228)
stickerdaniel Mar 16, 2026
ea9a778
chore: update manifest.json and docker-compose.yml to v4.4.1 [skip ci]
github-actions[bot] Mar 16, 2026
1ca5dce
docs: Trim AGENTS.md to behavioral guidance, clean README Docker section
stickerdaniel Mar 16, 2026
07f58e0
docs(agents): Add commit message format
stickerdaniel Mar 16, 2026
111170d
docs: Add brief Docker auth bridging explanation
stickerdaniel Mar 16, 2026
f7724a6
docs: Mention uvx as stable alternative to Docker
stickerdaniel Mar 16, 2026
57268e3
docs: Fix stale AGENTS.md tool table reference in CONTRIBUTING.md
stickerdaniel Mar 16, 2026
385f38a
Merge pull request #229 from stickerdaniel/03-16-docs_trim_agents.md_…
stickerdaniel Mar 16, 2026
50af44b
chore(deps): update ci dependencies
renovate[bot] Mar 19, 2026
46f6e4e
chore(deps): update ci dependencies (#226)
stickerdaniel Mar 19, 2026
1ef96af
docs(github): agent instructions for issues
stickerdaniel Mar 20, 2026
10a2705
docs(templates): update issue templates for clarity and conciseness
stickerdaniel Mar 20, 2026
35ff955
docs: reconcile optional section handling across templates and docs
stickerdaniel Mar 20, 2026
fe36885
Merge pull request #241 from stickerdaniel/03-20-docs_github_agent_in…
stickerdaniel Mar 20, 2026
8a9751b
Convert issue templates to GitHub forms
stickerdaniel Mar 20, 2026
2032b15
Merge pull request #242 from stickerdaniel/feature/issue-forms
stickerdaniel Mar 20, 2026
2ad25c9
fix(rate-limit): ignore hidden recaptcha
stickerdaniel Mar 20, 2026
efbe79e
fix(rate-limit): drop captcha iframe heuristic
stickerdaniel Mar 20, 2026
1c8c0b6
fix(rate-limit): ignore hidden recaptcha (#244)
stickerdaniel Mar 20, 2026
1340f14
chore: bump version to 4.4.2
stickerdaniel Mar 20, 2026
32e0fd8
chore: bump version to 4.4.2 (#245)
stickerdaniel Mar 20, 2026
ef0f59e
chore: update manifest.json and docker-compose.yml to v4.4.2 [skip ci]
github-actions[bot] Mar 20, 2026
af68bc2
fix(diagnostics): align issue report with bug form
stickerdaniel Mar 21, 2026
e82945c
fix(diagnostics): address review feedback
stickerdaniel Mar 21, 2026
ab50584
Merge pull request #249 from stickerdaniel/03-21-fix_diagnostics_alig…
stickerdaniel Mar 21, 2026
bfaafcf
chore: update AI agent models to gpt-5.4
stickerdaniel Mar 21, 2026
db0840a
Merge pull request #250 from stickerdaniel/03-21-chore_update_ai_agen…
stickerdaniel Mar 21, 2026
60fba0f
feat(mcpb): add one-click bootstrap
stickerdaniel Mar 21, 2026
c73c9f2
feat(mcpb): add one-click bootstrap (#251)
stickerdaniel Mar 21, 2026
3a4b18d
chore: bump version to 4.5.0
stickerdaniel Mar 21, 2026
a21fb8d
chore: bump version to 4.5.0 (#252)
stickerdaniel Mar 21, 2026
56c285a
chore: update manifest.json and docker-compose.yml to v4.5.0 [skip ci]
github-actions[bot] Mar 21, 2026
90278ed
fix(ci): repair release workflow
stickerdaniel Mar 21, 2026
4b00f50
fix(ci): repair release workflow (#253)
stickerdaniel Mar 21, 2026
fe49577
chore: update manifest.json and docker-compose.yml to v4.5.1 [skip ci]
github-actions[bot] Mar 21, 2026
3c9c4d6
docs: trim readme install docs
stickerdaniel Mar 21, 2026
022a8bd
docs: trim readme install docs (#254)
stickerdaniel Mar 21, 2026
664596d
fix(mcpb): pin supported python
stickerdaniel Mar 21, 2026
f3f92df
fix(mcpb): pin supported python (#255)
stickerdaniel Mar 21, 2026
a225155
chore: update manifest.json and docker-compose.yml to v4.5.2 [skip ci]
github-actions[bot] Mar 21, 2026
050a952
docs(mcpb): simplify install steps
stickerdaniel Mar 21, 2026
c04b32c
docs(mcpb): simplify install steps (#256)
stickerdaniel Mar 21, 2026
30f3f2f
fix(docker): use Python 3.13 base image to fix permission denied error
stickerdaniel Mar 22, 2026
0f74c2f
Merge pull request #258 from stickerdaniel/03-22-fix_docker_use_pytho…
stickerdaniel Mar 22, 2026
5c3cc3e
chore: bump version to 4.5.3
stickerdaniel Mar 22, 2026
00613ea
Merge pull request #259 from stickerdaniel/03-22-chore_bump_version_t…
stickerdaniel Mar 22, 2026
1995e9e
fix(login): pass --chrome-path to BrowserManager during --login (#261)
NickDriver Mar 22, 2026
53537a6
fix(login): forward all browser config params during --login (#262)
stickerdaniel Mar 22, 2026
fc64656
chore: bump version to 4.6.0 (#263)
stickerdaniel Mar 22, 2026
99c1848
chore: update manifest.json and docker-compose.yml to v4.6.0 [skip ci]
github-actions[bot] Mar 22, 2026
daedb96
docs: fix install step wording in release notes template (#264)
stickerdaniel Mar 22, 2026
d35f901
docs: fix install step wording in README (#265)
stickerdaniel Mar 22, 2026
31c92da
Normalize env value parsing for config loading (#209)
shuofengzhang Mar 22, 2026
cfe37e7
make sure to validate that browsers are installed when running login …
perfectra1n Mar 25, 2026
59ecf33
chore: bump version to 4.6.1 (#270)
stickerdaniel Mar 25, 2026
4d5a888
chore: update manifest.json and docker-compose.yml to v4.6.1 [skip ci]
github-actions[bot] Mar 25, 2026
94eb9ee
docs(README): Match license badge color to GitHub green
stickerdaniel Mar 25, 2026
0b52d10
fix(security): pin CI deps, harden file permissions, warn on 0.0.0.0 …
stickerdaniel Mar 26, 2026
db37ce2
refactor(common_utils): Use mkstemp for secure_write_text (#273)
stickerdaniel Mar 26, 2026
eb71ec2
feat(progress): Wire section-level progress into scrape_person/scrape…
stickerdaniel Mar 28, 2026
04a65b0
feat(skills): Add triage-reviews skill for PR review verification (#276)
stickerdaniel Mar 28, 2026
acaf0a7
feat(auth): Auto-relogin on session expiry instead of manual --login …
stickerdaniel Mar 28, 2026
ed33ab7
fix(skills): Add --paginate and failure handling to triage-reviews (#…
stickerdaniel Mar 28, 2026
cfaa34e
fix(security): Use secure_mkdir for all dirs under ~/.linkedin-mcp (#…
stickerdaniel Mar 28, 2026
1527874
fix(security): Apply mode to all ancestors in secure_mkdir (#282)
stickerdaniel Mar 28, 2026
1182c02
chore: Update btca docs and add patchright resource (#284)
stickerdaniel Mar 28, 2026
00aba83
feat: add ability to connect via mcp
aspectrr Mar 27, 2026
c58003c
fix(browser): Force en-US locale so text-based selectors work on non-…
stickerdaniel Mar 28, 2026
8ed8992
fix(tests): Align connect_with_person auth test with auto-relogin beh…
stickerdaniel Mar 28, 2026
a93b982
fix: Address PR review feedback
stickerdaniel Mar 28, 2026
988eafc
refactor(connect): Replace hardcoded selectors with LLM sampling
stickerdaniel Mar 28, 2026
d581b87
refactor(connect): Replace LLM sampling with text parsing
stickerdaniel Mar 28, 2026
b7c6115
fix: Address Greptile review feedback
stickerdaniel Mar 28, 2026
9e69b71
Normalize env config values before parsing
shuofengzhang Mar 9, 2026
980423d
Harden profile and cookie permissions for local storage
shuofengzhang Mar 28, 2026
6e23ad2
style: apply ruff formatting after rebase
shuofengzhang Mar 28, 2026
3fe5d21
refactor(connect): Remove confirm_send gate
stickerdaniel Mar 29, 2026
9f48acc
fix(connect): Add AuthenticationError handling matching other person …
stickerdaniel Mar 29, 2026
1ee8373
Merge pull request #274 from aspectrr/aspectrr/linkedin-connect
stickerdaniel Mar 29, 2026
b5e290d
chore: Bump version to 4.7.0
stickerdaniel Mar 29, 2026
a9a66d4
Merge pull request #285 from stickerdaniel/03-29-chore_bump_version_t…
stickerdaniel Mar 29, 2026
febf56b
chore: update manifest.json and docker-compose.yml to v4.7.0 [skip ci]
github-actions[bot] Mar 29, 2026
7dd9336
docs: Update connect_with_person descriptions
stickerdaniel Mar 29, 2026
378f32c
chore: update manifest.json and docker-compose.yml to v4.7.0 [skip ci]
github-actions[bot] Mar 29, 2026
4456cd9
Merge branch 'main' into 03-29-docs_update_connect_with_person_descri…
stickerdaniel Mar 29, 2026
e3eeed6
Merge pull request #286 from stickerdaniel/03-29-docs_update_connect_…
stickerdaniel Mar 29, 2026
39dd780
fix(connect): Use exact text matching, scroll to top, return profile
stickerdaniel Mar 29, 2026
01e7247
fix(connect): Use exact text matching and scroll to top before clicki…
stickerdaniel Mar 29, 2026
0722d2d
chore: Bump version to 4.7.1
stickerdaniel Mar 29, 2026
2b3dbf7
Merge pull request #288 from stickerdaniel/03-29-chore_bump_version_t…
stickerdaniel Mar 29, 2026
31d6606
chore: update manifest.json and docker-compose.yml to v4.7.1 [skip ci]
github-actions[bot] Mar 29, 2026
1a82329
feat(connect): Add More menu support and return profile text
stickerdaniel Mar 29, 2026
6a115d1
Merge pull request #289 from stickerdaniel/03-29-feat_connect_add_mor…
stickerdaniel Mar 29, 2026
30c234b
chore: Bump version to 4.7.2
stickerdaniel Mar 29, 2026
69f9b66
Merge pull request #290 from stickerdaniel/03-29-chore_bump_version_t…
stickerdaniel Mar 29, 2026
8726ca8
chore: update manifest.json and docker-compose.yml to v4.7.2 [skip ci]
github-actions[bot] Mar 29, 2026
d7026ab
feat: add get_sidebar_profiles tool and profile_urn in get_person_pro…
aspectrr Mar 29, 2026
6442034
feat(messaging): add inbox, conversation, search, and send_message tools
aspectrr Mar 29, 2026
025b8af
Merge pull request #1 from aspectrr/aspectrr/linkedin-connect-new
aspectrr Mar 29, 2026
84a7779
chore(deps): update ci dependencies
renovate[bot] Mar 30, 2026
912df60
Merge branch 'main' into bug-279-secure-profile-perms
stickerdaniel Mar 30, 2026
9b17f8f
Merge pull request #292 from stickerdaniel/renovate/ci-dependencies
stickerdaniel Mar 30, 2026
3b927c5
Merge branch 'main' into aspectrr/linkedin-connect
stickerdaniel Mar 30, 2026
cfb403f
refactor: Use secure_mkdir, fix export_storage_state, drop loaders.py
stickerdaniel Mar 30, 2026
cdef4b2
Merge branch 'main' into bug-279-secure-profile-perms
stickerdaniel Mar 30, 2026
7c4614f
Merge pull request #283 from shuofengzhang/bug-279-secure-profile-perms
stickerdaniel Mar 30, 2026
a9549d9
Merge branch 'main' into aspectrr/linkedin-connect
stickerdaniel Mar 30, 2026
654cfc1
fix: Address PR review feedback
stickerdaniel Mar 30, 2026
9bb2961
fix: Add baseline comment for messaging auto-redirect
stickerdaniel Mar 30, 2026
d840ecc
Merge pull request #291 from aspectrr/aspectrr/linkedin-connect
stickerdaniel Mar 30, 2026
8daca4a
chore: Bump version to 4.8.0
stickerdaniel Mar 30, 2026
501c136
chore: Bump version to 4.8.0 (#294)
stickerdaniel Mar 30, 2026
c257bcb
chore: update manifest.json and docker-compose.yml to v4.8.0 [skip ci]
github-actions[bot] Mar 30, 2026
bbca4a6
fix(scraping): Respect --timeout for messaging, extract inbox thread …
stickerdaniel Mar 31, 2026
e1a106d
chore: Bump version to 4.8.1 (#301)
stickerdaniel Mar 31, 2026
89a5e99
chore: update manifest.json and docker-compose.yml to v4.8.1 [skip ci]
github-actions[bot] Mar 31, 2026
fedcfdc
docs: add UV_HTTP_TIMEOUT troubleshooting for slow connections (#303)
stickerdaniel Apr 2, 2026
b352721
docs: add UV_HTTP_TIMEOUT to default uvx config (#305)
stickerdaniel Apr 2, 2026
6bd5f92
docs: use @latest tag in uvx config for auto-updates (#306)
stickerdaniel Apr 2, 2026
fd80f60
ci: remove unused workflow
stickerdaniel Apr 2, 2026
1dc4095
feat(profile-edit): add 13 tools to edit every profile section
Gabrcodes Apr 2, 2026
a72bbd1
fix: partial save guard, CSS class selectors, cache username, remove …
Gabrcodes Apr 2, 2026
d04380a
fix: querySelector scope bug, add certification required_fields, add …
Gabrcodes Apr 2, 2026
215d04a
fix: remove unused result variable (F841) in TestProfileEditTool
Gabrcodes Apr 3, 2026
7a4682f
fix: contenteditable About editor, industry typeahead, add_course dro…
Gabrcodes Apr 3, 2026
d3dae0f
fix: industry append only on typeahead selection, volunteer required_…
Gabrcodes Apr 3, 2026
69ba8ee
fix: location tries City first, Country/Region with typeahead fallback
Gabrcodes Apr 3, 2026
469bca8
fix: required_fields for 5 add-entry methods, declare _my_username_ca…
Gabrcodes Apr 3, 2026
e10b0d2
fix: add_language custom typeahead impl, year fields through dropdown…
Gabrcodes Apr 3, 2026
0ea65c9
docs: update tools/__init__.py to list all new tool modules
Gabrcodes Apr 3, 2026
6aa2496
fix: remove redundant case-insensitive skill label fallback
Gabrcodes Apr 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 66 additions & 0 deletions .agents/skills/triage-reviews/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
---
name: triage-reviews
description: Fetch PR review comments, verify each against real code/docs, fix valid issues, commit and push
disable-model-invocation: true
argument-hint: '[PR number]'
---

# Triage PR Review Comments

Fetch all review comments on the current PR, verify each finding against real code, fix valid issues, and push.

## Phase 1: Gather Comments

1. Determine the PR number:
- Use `$ARGUMENTS` if provided
- Otherwise: `gh pr view --json number --jq .number`

2. Fetch ALL comments (reviewers post in multiple places):
```
gh api --paginate repos/{owner}/{repo}/pulls/{pr}/reviews
gh api --paginate repos/{owner}/{repo}/pulls/{pr}/comments
gh api --paginate repos/{owner}/{repo}/issues/{pr}/comments
```

3. Extract unique findings — deduplicate across Copilot, Greptile, and human reviewers. Group by file and line.

## Phase 2: Verify Each Finding

For EVERY finding, verify against real code before accepting or rejecting:

1. **Read the actual code** at the referenced file:line
2. **Check if the issue still exists** — it may already be fixed in a later commit
3. **Verify correctness** using:
- Code analysis (read surrounding context, trace call paths)
- Run `btca resources` to see what's available, then `btca ask -r <resource> -q "..."` for library/framework questions
- Web search for API behavior, language semantics, or CVEs
4. **Classify** each finding:
- **Valid** — real bug, real gap, or real improvement needed
- **False positive** — reviewer misread the code, outdated reference, or style preference

## Phase 3: Fix & Ship

1. Fix all **Valid** findings
2. Run the project's lint/test commands (check CLAUDE.md for exact commands)
- If lint/tests fail, fix the failures before committing
- If a failure cannot be fixed automatically, skip that fix and report it as **Valid (unfixed)** in the Phase 4 table
3. `git add` only changed files, `git commit` with message:
```
fix: Address PR review feedback

- <one-line summary per fix>
```
4. Push: `gt submit` (or `git push` if not using Graphite)

## Phase 4: Report

Present a final summary table of ALL findings with verdicts:

| # | Source | File:Line | Finding | Verdict | Reason |
|---|--------|-----------|---------|---------|--------|

## Notes

- Never dismiss a finding without reading the actual code first
- If unsure, err toward "Valid" — it's cheaper to fix than to miss a bug
- For library/API questions, always use btca or web search — don't guess
8 changes: 8 additions & 0 deletions .coveragerc
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
[run]
source = linkedin_mcp_server
branch = true
omit = linkedin_mcp_server/__main__.py

[report]
fail_under = 45
show_missing = true
164 changes: 164 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,164 @@
# Based on .gitignore with Docker-specific additions

# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
.pybuilder/
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pipenv
#Pipfile.lock

# poetry
#poetry.lock

# pdm
.pdm.toml
.pdm-python
.pdm-build/

# PEP 582
__pypackages__/

# Celery stuff
celerybeat-schedule
celerybeat.pid

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
.pyre/

# pytype static type analyzer
.pytype/

# Cython debug symbols
cython_debug/

# Ruff stuff:
.ruff_cache/

# PyPI configuration file
.pypirc

# Cursor
.cursorignore
.cursorindexingignore
.cursor

# Docker-specific exclusions
.git
.github
README.md
.DS_Store

# DXT Extension
*.dxt
assets/*

# other dev files
.vscode
.claude
.github
.docker
38 changes: 38 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# LinkedIn MCP Server Environment Variables
# Copy this file to .env and fill in your values

# Persistent browser profile directory (default: ~/.linkedin-mcp/profile)
# Run with --login to create a profile via browser login
USER_DATA_DIR=~/.linkedin-mcp/profile

# Browser mode (default: true)
# true = headless, false = visible window
HEADLESS=true

# Logging level (default: WARNING)
# Options: DEBUG, INFO, WARNING, ERROR
LOG_LEVEL=WARNING

# Transport mode (leave empty for interactive prompt, defaults to stdio in non-interactive)
# Options: stdio, streamable-http
TRANSPORT=

# Browser timeout in milliseconds (default: 5000)
TIMEOUT=5000

# Custom browser user agent (optional)
USER_AGENT=

# HTTP server settings (for streamable-http transport)
HOST=127.0.0.1
PORT=8000
HTTP_PATH=/mcp

# Debugging options
# Slow down browser actions by this many milliseconds (default: 0)
SLOW_MO=0
# Browser viewport size as WIDTHxHEIGHT (default: 1280x720)
VIEWPORT=1280x720
# Custom Chrome/Chromium executable path (optional)
# Use this if Chrome is installed in a non-standard location
CHROME_PATH=
7 changes: 7 additions & 0 deletions .gemini/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"mcpServers": {
"linkedin-mcp-server": {
"httpUrl": "http://127.0.0.1:8000/mcp"
}
}
}
35 changes: 35 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Bug Report
description: Something is broken or not working as expected
title: "[BUG] "
labels: ["bug"]
body:
- type: input
id: setup
attributes:
label: Setup
description: How you run the server, which MCP client, and what OS.
placeholder: "e.g. uvx on macOS, Claude Desktop"
validations:
required: true
- type: textarea
id: what-happened
attributes:
label: What Happened
description: What broke and what you expected instead.
validations:
required: true
- type: textarea
id: steps-to-reproduce
attributes:
label: Steps to Reproduce
description: Minimal steps to trigger the bug. Include the tool name and arguments if relevant.
validations:
required: true
- type: textarea
id: logs
attributes:
label: Logs
description: Paste relevant log output. Remove credentials.
render: shell
validations:
required: false
15 changes: 15 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# .github/ISSUE_TEMPLATE/config.yml
blank_issues_enabled: false
contact_links:
- name: 💬 General Questions & Discussion
url: https://github.com/stickerdaniel/linkedin-mcp-server/discussions/categories/general-questions-discussion
about: Ask questions about setup, usage, or get help from the community
- name: 📚 Share Your Setup & Get Help with Configuration
url: https://github.com/stickerdaniel/linkedin-mcp-server/discussions/categories/share-your-setup-get-help-with-configuration
about: Share how you set up the MCP in your favorite client or get help with configuration
- name: 💡 Ideas & Suggestions
url: https://github.com/stickerdaniel/linkedin-mcp-server/discussions/categories/ideas-suggestions
about: Share ideas for new features or improvements (before creating a formal feature request)
- name: 🙌 Show and Tell
url: https://github.com/stickerdaniel/linkedin-mcp-server/discussions/categories/show-and-tell
about: I would love to see how you're using the LinkedIn MCP server and what you're building with it!
27 changes: 27 additions & 0 deletions .github/ISSUE_TEMPLATE/documentation_issue.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Documentation Issue
description: Report incorrect, missing, or confusing documentation
title: "[DOCS] "
labels: ["documentation"]
body:
- type: input
id: location
attributes:
label: Location
description: File path, section name, or URL.
placeholder: "e.g. README.md, Docker setup section"
validations:
required: true
- type: textarea
id: problem
attributes:
label: Problem
description: What's wrong or confusing.
validations:
required: true
- type: textarea
id: suggested-fix
attributes:
label: Suggested Fix
description: What it should say instead. Leave blank if unsure.
validations:
required: false
26 changes: 26 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Feature Request
description: Suggest an improvement or new capability
title: "[FEATURE] "
labels: ["enhancement"]
body:
- type: textarea
id: feature-description
attributes:
label: Feature Description
description: What you want to happen.
validations:
required: true
- type: textarea
id: use-case
attributes:
label: Use Case
description: Why this is useful.
validations:
required: true
- type: textarea
id: suggested-approach
attributes:
label: Suggested Approach
description: How you'd implement it. Leave blank if unsure.
validations:
required: false
Loading
Loading