xing-mcp
Search and retrieve job listings on XING, including salary estimates, company job boards, and detailed job descriptions.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@xing-mcpWhat are the latest job openings for product managers in Austria?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
xing-mcp
An MCP server for searching jobs on XING — the leading professional network in the DACH region (Germany, Austria, Switzerland).
The MCP job-search ecosystem is heavily LinkedIn-centric, and the standard multi-board scraper (JobSpy) does not cover XING. This server fills that gap. Most XING listings include a salary estimate, which is unusual and hard to get elsewhere.
Tools
Tool | Purpose |
| Search one page of listings by keywords, location, radius, employment type |
| Search across multiple pages, rate-limited and deduplicated |
| Full posting incl. description converted to markdown |
| Open positions on a company's XING page |
Related MCP server: trackly-cli
Install
uv venv && uv pip install -e .Claude Code
claude mcp add xing -- /absolute/path/to/xing_mcp/.venv/bin/xing-mcpClaude Desktop
{
"mcpServers": {
"xing": {
"command": "/absolute/path/to/xing_mcp/.venv/bin/xing-mcp"
}
}
}Configuration
Env var | Default | Purpose |
| honest self-identifying UA | Override the User-Agent |
|
| Minimum seconds between requests |
|
| Response cache TTL in seconds |
What works, and what doesn't
XING has no public jobs API (dev.xing.com is plugins-only and closed to new registrations), so this server reads XING's public job-search HTML pages. Search parameters were mapped empirically against the live site.
Supported filters — verified working:
keywords,location,radius(km),pageemployment_type:FULL_TIME,PART_TIME
Not supported — XING accepts these as URL parameters but they have no effect, so the server does not pretend to offer them:
remote/home-office filtering
sort order (results are relevance-ranked by XING)
career/seniority level filtering — filter by seniority in your prompt or by reading job titles instead
Login-gated results: XING hides roughly a quarter to a third of listings from logged-out visitors. Those appear as UnauthorizedJob and cannot be retrieved. Every tool reports how many were withheld in a note field rather than silently returning a short list.
How it works
Three parser tiers, tried in order, so a XING frontend change degrades rather than breaks:
Apollo cache (
parsers/apollo.py) — XING server-renders its full GraphQL cache into the page. Richest source: salary, apply URL, company, dates.JSON-LD (
parsers/jsonld.py) —schema.org/JobPostingon detail pages, for descriptions and postal addresses.DOM fallback (
parsers/dom.py) —data-testidselectors. Sparse (no salary), but durable.
If all tiers fail, the tools return an explicit error. They never return an empty list to paper over a parse failure.
Compliance
This server reads only public job pages and is intended for personal, user-directed job searching.
XING's
robots.txtexplicitlyAllows/jobs/searchfor user-directed AI agents (Claude-User,GPTUser,PerplexityBot, …), while the catch-allUser-agent: *disallows it.XING's internal GraphQL API (
/xing-one/api,/graphql/) isDisallowed for every agent. This server never calls it — the forbidden paths are hard-blocked inclient.py.The default User-Agent identifies this software honestly and does not impersonate a named crawler.
Requests are serialised at 1/second and cached.
Caveats you should know about: this server is not one of the named agents in XING's allowlist, so it sits in a grey area between that allowlist and the catch-all rule. XING/New Work SE's Terms of Service restrict automated data collection independently of robots.txt, and listings contain personal and company data subject to GDPR. Personal job hunting is a reasonable use; commercial redistribution of scraped listings would need legal review.
Development
uv pip install -e ".[dev]"
pytest # 39 offline tests, no network
pytest -m live # 8 tests against the live siteFixtures are synthetic on purpose. This repo does not commit scraped XING
pages — that would republish XING's page content and employers' job-ad text,
which is exactly what the compliance note above warns against. The committed
fixtures are generated by scripts/make_synthetic_fixtures.py and reproduce the
structures the parsers depend on (Apollo cache layout, JSON-LD block, DOM
cards) using invented companies and salaries.
The trade-off is that offline tests cannot notice XING changing its site. That
is what the live suite is for — it checks that the Apollo tier still parses,
that salary estimates are still present, that pagination still returns distinct
results, that the employmentType hash ID still works, and that XING's
robots.txt still allowlists /jobs/search for AI agents. Run it periodically.
For local debugging against real pages:
python scripts/fetch_live_fixtures.py # writes tests/fixtures_live/ (gitignored)License
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityAmaintenanceMCP server that exposes job search data from multiple boards, enabling clients to query and manage job listings via natural language.Last updated7MIT

trackly-cliofficial
Alicense-qualityAmaintenanceMCP server for job search and application tracking, enabling AI agents to search jobs, get details, manage applications, and find contacts across 128K+ jobs and 1,900+ companies.Last updated2,2381MIT
bach-jsearchofficial
Alicense-qualityDmaintenanceMCP server for accessing Jsearch API to search jobs, get job details, and retrieve salary estimates.Last updatedMIT- Alicense-qualityDmaintenanceA remote MCP server for job scraping that enables searching LinkedIn and Indeed for job listings using Apify.Last updatedMIT
Related MCP Connectors
GetJobzi MCP server for job search, application tracking, and career forecasting.
MCP server for AI job search — find jobs, track applications, get alerts. Claude, ChatGPT, Cursor.
MCP server for Google search results via SERP API
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/vinitkumargoel/xing-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server